
自动化测试
文章平均质量分 67
灵枢_
天地九井(照胆、寒髓、热海、无垢、雾魂、春滋、炎波、毒瘴、龙潭)伴神农而生,为天地灵脉之枢纽
展开
-
Docker+Selenium Grid运行UI自动化
使用Selenium Grid可以分布式运行UI自动化测试,可以同时启动多个不同的浏览器,也可以同时启动同一个浏览器的多个session。这里使用Docker Compose来同时启动不同浏览器的容器和Selenium Grid,只需一条命令就把自动化运行环境部署好了。原创 2022-12-29 14:32:11 · 892 阅读 · 1 评论 -
【Docker】Docker运行Web UI自动化Demo
技术栈DockerDockerfilePytestselenium代码test_docker_run_UI_automation.py# encoding: utf-8 """@File : test_docker_run_UI_automation.py@Author : linshu@Time : 2021/8/20 8:59 AM@Desc : Docker+Pytest+Selenium+Chrome"""from selenium import原创 2021-08-30 17:00:53 · 856 阅读 · 0 评论 -
[Mac] selenium打开Chrome浏览器
在Mac电脑用python+selenium打开Chrome还遇到几个问题,这里总结下,以防忘记,也可帮到别人。前提:已安装好python3,selenium安装chromedriver1.先查看Chrome的版本,我这里是872. 下载与Chrome浏览器对应的chromedriver版本,下载链接:https://sites.google.com/a/chromium.org/chromedriver/downloads3. 把下载的文件解压,把chromedriver.exe拷到/usr原创 2020-12-18 14:52:39 · 2248 阅读 · 1 评论 -
Postman/Newman+Docker+Jenkins/Pipeline 做接口自动化测试
简介:在Postman调试好接口后,直接导出来,用Jenkins、docker和newman来运行接口自动化测试,不用再写额外的代码,可以快速把接口自动化做起来。这里总结Postman/Newman+Docker+Jenkins/Pipeline怎么做接口自动化测试。前提在Postman调试好接口,在每个接口的Tests模块加好断言,调整好接口的顺序,至少保证用Postman的Runner能跑的通。导出接口文件夹和环境变量安装好Docker安装好Jenkins创建Jenkinsfile这里原创 2020-06-18 17:58:10 · 1914 阅读 · 1 评论 -
【Pytest】fixture使用request传参,结合parametrize
传一组参数@File : test_fixture_parametrize.py@Author : 灵枢@Time : 2020/4/8 4:51 PM@Desc : """import pytesttest_account = ["user1", "user2"]@pytest.fixture(scope="module")def login(re...原创 2020-04-29 16:53:37 · 1529 阅读 · 1 评论 -
【Appium】Android Toast捕获
简介:Android Toast是在使用app时的一个弹出文字提醒,一般持续显示2-3秒就消失,在做自动化测试时需要捕获toast来做一些验证。但是toast是属于Android系统级别的提醒,很难捕获到,所以记录下如何捕获toast。捕获原理Appium在UIAutomator2引擎下支持对toast的捕获,捕获原理代码如下图,即Android后台开了一个服务,当界面发生变化时就去捕获信息,...原创 2019-11-25 09:45:05 · 1138 阅读 · 0 评论 -
【Appium】使用uiautomator定位元素
介绍:appium可以使用uiautomator 来定位元素,或者滚动页面。使用uiautomator 只适用于Android。下面以appium官方自带的调试App来演示。调试App下载地址:https://github.com/appium/appium/blob/master/sample-code/apps/ApiDemos-debug.apk通过className定位通过clas...原创 2019-11-22 15:00:17 · 907 阅读 · 0 评论 -
xpath不等于、不包含的写法
简介:写自动化用例时经常会用到xpath来定位元素,这里总结一下xpath语法中不等于、不包含的写法问题如下图:该页面有两个页签,我们需要在第二个页签进行操作:在输入框输入后点击确定按钮。第一次写的xpath是这样的//button[./span[text()='确定']]运行时报错Element is not clickable at point,出现这种错误通常因为是这个xpat...原创 2019-11-05 18:27:26 · 21264 阅读 · 0 评论 -
HttpRunner使用总结
摘要:最近在用HttpRunner做接口自动化测试,写这篇博客对HttpRunner的使用加以总结HttpRunner中文使用文档: https://cn.httprunner.org/1、json返回值有list时,用0,1来取list的第一个或第二个,如:{ "code":"000", "msg":"成功", "data":{ "id":"1366...原创 2019-10-17 10:34:56 · 2783 阅读 · 0 评论 -
实时调试WebDriver代码
简介:我们在做web自动化测试的时候,每次检查一些新的操作或者定位一个元素的代码是否起作用时,都要运行一遍代码重启一个浏览器,再跳到相应的操作页面,这样的调试很费时间。现在有个测试前辈写了个工具可以让我们的调试方便一些(参考:https://testerhome.com/topics/9460)。我现在调试就用这个工具,挺好用的,所以总结一下使用过程。添加jar包1、jar包地址:https://g原创 2017-10-22 11:05:03 · 1674 阅读 · 0 评论 -
使用AutoIt自动化上传多张图片
简介:自动化过程中遇到上传多张图片的情况,但使用selenium无法模拟windows窗口操作,所以尝试使用AutoIt解决,使用AutoIt每次上传一张图片很简单,这次我们是一次性上传多张图片安装AutoIt3官网下载地址:https://www.autoitscript.com/site/autoit/downloads/AutoIT中文使用手册:https://www.jb51.net...原创 2018-12-14 18:47:56 · 1880 阅读 · 1 评论 -
【selenium】常用操作的封装
简介:总结整理selenium常用操作的封装,包括对元素操作的封装和页面基础操作封装,方便在写自动化用例时直接调用。元素操作的封装OperateElement.javaimport org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;imp...原创 2018-11-27 19:49:33 · 3369 阅读 · 0 评论 -
【selenium】 隐式等待与显示等待
简介:总结selenium的隐式等待与显式等待隐式等待设置一个默认的操作等待时间,即每个操作的最大延时不超过该时间常用的隐式等待//页面加载超时时间driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);//元素定位超时时间driver.manage().timeouts().implicitlyWait(...原创 2018-11-22 20:00:05 · 750 阅读 · 0 评论 -
Sikuli+Selenium查询百度地图线路
介绍:最近要做一个内嵌百度地图页面的自动化,由于selenium定位不在这里插入代码片到百度地图里面的元素,所以使用Sikuli以基于图片的方式来定位。安装SikuliSikuli官网介绍的是如何操作ppt,而我们是要定位当面页面的图片,实际使用的是SikuliX,所以Maven的配置不要复制官网的那个,在pom.xml添加如下依赖即可:<dependency>原创 2018-11-20 20:06:01 · 1023 阅读 · 0 评论 -
PHP代码覆盖率测试
简介:最近研究了PHP代码覆盖率的测试,后面发现了github一个开源项目(https://github.com/sebastianbergmann/php-code-coverage) ,对PHP代码覆盖率测试已经做得很好了,所以拿来直接用,这里总结怎么用这个开源项目。环境搭建一、安装php环境1、php要选高版本,亲测7.27可行,5.5就不行二、安装xdebug这个直接网上搜怎么安...原创 2018-09-20 18:43:10 · 5834 阅读 · 18 评论 -
Jenkins定时构建任务
简介:总结下Jenkins定时构建任务使用一、在任务设置-构建触发器模块,选中“Build periodically”二、然后在日程表里输入你的定时构建时间,输入的时间语法参考如下:1、时间字段遵循cron的语法,每行由TAB或空格分隔的5个字段组成:MINUTE HOUR DOM MONOW DOW - 分钟 小时内的分钟数(0-59) - 小时 一天中的小时(0-23) -翻译 2017-12-14 09:10:00 · 10048 阅读 · 1 评论 -
appium测试微信公众号的WebView
简介:在自动化测试微信公众号的WebView时,经常遇到切不到WebView里面去,可以参考如下方式解决1、在微信任何聊天窗口输入debugx5.qq.com,发送出去,如下图:2、点击debugx5.qq.com,打开微信的x5内核调试页面,然后切到信息页签,勾选”是否打开TBS内核Inspector调试功能” 3、AndroidDriver的DesiredCapabilities里添加如下设置原创 2017-11-30 12:45:19 · 5050 阅读 · 1 评论 -
Jenkins+Reportng 测试报告显示失败用例截图
前言:由于reportng生成的测试报告里没有失败的用例截图,现在想自己修改reportng,加上截图等功能。这里详细的总结一遍实现过程 主要参考博客: https://testerhome.com/topics/3594 http://tech.it168.com/a2013/0906/1530/000001530755_all.shtml一、IDEA导入reportng源码1、下载repo原创 2017-10-16 14:01:21 · 2492 阅读 · 1 评论 -
【selenium】chrome浏览器设置成手机模式
简介:在做自动化测试测试时,遇到M站(即手机浏览器打开的网站)需要把浏览器设置成手机模式。手动操作是先按F12,在点击“Toggle device toolbar”按钮,下面是用代码来设置public class InitDriver { //初始化ChromeDriver public static ChromeDriver launchChromeDriver(){ Syste...原创 2018-12-25 19:21:45 · 16011 阅读 · 2 评论 -
【selenium】实现失败用例重跑
1、新增Retry类实现IRetryAnalyzer接口的retry方法import org.testng.IRetryAnalyzer;import org.testng.ITestResult;/** * Author: 灵枢 * Date: 2018/12/25 * Time: 17:40 * Description: */public class Retry imple...原创 2019-01-15 20:16:26 · 2231 阅读 · 0 评论 -
webdriver启动chrome浏览器后打不开URL
一、运行webdriver用例时可以启动浏览器,然后就不动了,不能打开url,可能就是版本不对应。chrome版本和chromedriver.exe版本对应如下图: 二、下载chrome浏览器对应的浏览器驱动,即chromedriver.exe。1、下载地址:http://chromedriver.storage.googleapis.com/index.html (要...原创 2017-02-14 18:47:23 · 19360 阅读 · 12 评论 -
【python】Pytest+Request+Allure+Jenkins 接口自动化测试Demo
概要:对postman的一个接口做了接口自动化测试,使用Pytest+Request+Allure+Jenkins 框架技术栈:python3 、pytest、RequestsAllureJenkins测试接口介绍本例使用Postman自带的一个接口来做测试,url如下:https://postman-echo.com/time/before?timestamp=2016-10-...原创 2019-07-16 19:51:55 · 11606 阅读 · 1 评论 -
UI自动化测试框架SelenJA介绍
简介SelenJA是我封装的一个基于selenium+testng的自动化测试框架,使用Jenkins来跑自动化用例,并在Jenkins中使用了Allure插件来显示测试报告GitHubhttps://github.com/Adien-galen/SelenJA 欢迎点star技术栈JavamavenseleniumtestngallureJenkins优点封装s...原创 2019-06-13 20:06:11 · 464 阅读 · 0 评论 -
WebDriver+Pytest自动化框架SeleniumBase介绍
简介:SeleniumBase是一个基于Selenium-WebDriver和Pytest的Web自动化测试框架gitbub地址:https://github.com/seleniumbase/SeleniumBase特点:封装了WebDriver API 可以很方便的调用提供 —demo_mode 模式,使脚本执行的过程变得很慢,并让操作的元素高亮显示,方便定位问题可以加 --p...原创 2019-05-30 19:23:04 · 4323 阅读 · 0 评论 -
【Jenkins】testng+Allure显示测试报告截图和测试步骤
简介:总结在Jenkins打开的Allure测试报告里怎么添加失败用例截图和测试步骤。Jenkins配置Allure参考我的另一篇博客:https://blog.youkuaiyun.com/galen2016/article/details/88015322技术栈:JavamaventestngseleniumJenkinsAllurepom.xml配置<properties>...原创 2019-03-28 20:26:47 · 7620 阅读 · 2 评论 -
【selenium】selenide使用总结
简介:selenide是对selenium的一个封装,使用了更简单的写法,无需考虑元素的等待时间。优点:内置隐式等待用例运行完后自动关闭浏览器代码简单,易读自动对失败用例截图由于是对selenium的封装,所以可以和selenium一起使用官方文档:https://selenide.org/documentation.html安装maven项目在pom.xml添加如下依赖即可...原创 2019-03-22 10:18:26 · 6246 阅读 · 2 评论 -
【Appium】打开手机自带的浏览器
简介:总结用appium打开Android自带的浏览器,本例使用手机的是小米6。public class AppDemo { private AppiumDriver driver; @BeforeClass public void setUp() throws Exception { //设置自动化相关参数 DesiredCapabil...原创 2019-02-28 15:07:31 · 5211 阅读 · 1 评论 -
【Jenkins】显示Allure测试报告
前言:用testng+maven做的自动化测试项目,现在加上了Allure报告,总结下怎么在代码里和Jenkins配置Allure。pom.xml新增以下这些配置 <properties> <aspectj.version>1.8.5</aspectj.version> </properties> <dep...原创 2019-02-28 10:05:59 · 5912 阅读 · 1 评论 -
【Appium】打开手机chrome浏览器
首先要安装安卓版的Chrome浏览器打开手机chrome浏览器代码如下:public class AppDemo { private AppiumDriver driver; @BeforeClass public void setUp() throws Exception { //设置apk的路径 File classpathRo...原创 2019-01-28 15:47:36 · 2905 阅读 · 0 评论 -
Java读取csv文件
简介:总结用java通过读取csv文件方法,为用csv文件来做数据驱动测试提供解决方案创建csv文件用WPS表格或excel创建文件,填写数据,另存为选择CSV格式进行保存,如下图: 安装读取csv文件的jar包jar包下载地址:http://sourceforge.net/projects/javacsv/files/ 下载后解压,然后把javacsv.jar文件添加到java项目的构建路径原创 2017-09-28 09:31:04 · 31761 阅读 · 4 评论 -
Jenkins分布式执行测试用例(添加slave节点)
简介:现在把多个自动化测试项目部署到Jenkins上,有时我们需要同时跑多个自动化用例,以节约时间,这就可以运用Jenkins的slave节点来执行分布式构建。一、添加slave节点1、进入系统管理-节点管理页面 2、点击“新建节点” 3、配置节点,如下图: 说明: 启动方法:启动方法有四个选项。建议选择第1、2种方式配置。详细如下:a、【推荐】Launch slave agents on原创 2017-09-29 17:21:33 · 5818 阅读 · 0 评论 -
python-环境搭建及自动化测试Demo
一、Python3的安装在windows下安装pythonPython下载地址:https://www.python.org/downloads/windows64位的用户建议选择“Windows x86-64 executable installer”这个版本下载,如下图: 下载完成后得到一个exe文件,可以直接双击安装,安装过程中记得勾选“Add Python 3.5 to PATH”选项,从原创 2017-04-28 09:01:36 · 11444 阅读 · 2 评论 -
【WebDriver】调用JavaScript
WebDriver(selenium2)调用JavaScript原创 2017-02-24 18:16:27 · 4891 阅读 · 0 评论 -
使用Appium测试Hybrid App的方法
使用Appium测试Hybrid App的方法,appium测试webview原创 2016-12-09 08:47:04 · 7532 阅读 · 1 评论 -
TestNG-使用priority参数
在testng的@Test方法中,方法执行顺序是字母顺序执行,而不是按测试方法在代码中的先后顺序执行。代码如下:package com.kdzwy.practice;import org.testng.annotations.AfterGroups;import org.testng.annotations.BeforeGroups;import org.testng.annotations.T原创 2017-03-28 21:11:52 · 6724 阅读 · 0 评论 -
TestNG-分组groups
TestNG可以执行复杂的测试方法分组。您不仅可以声明方法属于组,而且还可以指定包含其他组的组。然后可以在testng.xml配置一组特定的组,或同时排除另一组。第一个例子:java代码:package com.kdzwy.practice;import org.testng.annotations.Test;/* *包名:com.kdzwy.practice *作者:Adien_cui原创 2017-03-28 20:40:56 · 8754 阅读 · 5 评论 -
【WebDriver】使用AutoIt上传文件
【WebDriver】使用AutoIt上传文件 在用webdriver做自动化测试时,有时会遇到上传本地文件的情况,但是webdriver只能操作web页面,对选择文件对话框的操作就可以使用AutoIt来实现。一、AutoIt用于Windows GUI(图形化界面)中进行自动化操作。官方网站:https://www.autoitscript.com/site/下载Aut原创 2017-02-14 19:17:01 · 4782 阅读 · 6 评论 -
WebDriver遇到Element is not currently visible and so ...解决
1、跑webdriver用例时遇到org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted withCommand duration or timeout: 11 milliseconds,如下图:2、定位这个原创 2017-01-24 17:15:32 · 1255 阅读 · 0 评论 -
Fiddler对手机app抓包
Fiddler对手机app抓包一、下载并安装Fiddler Fiddler官网下载:https://www.telerik.com/download/fiddler,下载完了直接下一步安装。二、设置Filddler1、点击Tools-Telerik Fiddler Options..,打开Telerik Fiddler Options对话框2、打开HTT...原创 2017-01-13 07:11:27 · 6808 阅读 · 0 评论 -
appium及webdriver定位总结
appium及webdriver定位总结1、同一个页面,有多个TextView,开发有时会给它们定义同一个id,如下图: 这种情况还是可以使用ID定位的,先通过ID定位到TextView的元素组,再获取该元素组中元素。比如获取图中的第二个订单号:List orderNumbers = driver.findElementsById("com.kingdee.zhihuij原创 2017-01-12 18:58:56 · 4946 阅读 · 0 评论