自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Web UI自动化测试框架搭建之二十:在CI(Jenkins)中运行测试套

1:安装Jenkins,添加window Slave;2:创建Jenkins job,添加必要的参数,如测试浏览器,测试套等3:编写Jenkins pipe line脚本,脚本功能包括:a:从git上下载测试代码b:根据步骤2中参数值在Slave上配置运行环境c:  根据步骤2中参数值,运行测试套,如: mvn test -DsuiteFile=testSuite...

2018-02-11 14:28:25 493

原创 Web UI自动化测试框架搭建之十九: 输出测试浏览器信息和浏览器控制端JS信息

在Web UI自动化测试框架中,常常需要输出测试浏览器信息:浏览器名称((RemoteWebDriver) driver).getCapabilities().getBrowserName()浏览器版本((RemoteWebDriver) driver).getCapabilities().getVersion()浏览器控制端JS信息便于定位错误driver.manage().logs().get...

2018-02-11 14:16:04 367

原创 Web UI自动化测试框架搭建之十八: 添加录屏功能,回放页面测试过程

如果测试框架中引入录屏功能,那么当脚本执行失败,便于定位问题。什么时候想开始录屏时就可以调用下面start方法,想保存录屏video,调用save方法,想结束录屏时就调用stop方法。注意一点,录制的video,需要下载解码器,下载地址为https://www.techsmith.com/codecs.htmlimport static org.monte.media.FormatKeys.Enc...

2018-02-11 10:08:21 4960

原创 Web UI自动化测试框架搭建之十七: 如何在surefire测试报告中添加图片链接自定义格式

自定义testNG报告如: Reporter.log(" + jpgName + " target=_blank>Failed Screen Shot", true);  如果在IDE中执行脚本,需要配置如下:设置Run->Run Configurations->(x)=Arguments, VW arguments输入-Dorg.uncommons.reportng.escape-o

2018-01-22 17:21:03 300

原创 Web UI自动化测试框架搭建之十六: 验证点失败,想继续执行剩余的脚本

断言有硬断言和软断言硬断言,如果验证失败,脚本会失败退出;软断言如下,google上说,脚本会失败,会继续执行剩余的脚本,但是我这里试验和硬断言同样的执行效果。        SoftAssert assertion = new SoftAssert();          assertion.assertEquals(... ...);          assertion.

2018-01-22 17:10:33 550

原创 Web UI自动化测试框架搭建之十五: Selenium脚本在Chrome headless上运行

无头浏览器的优点:需要更少的内存和CPU,同时可以在Linux上执行。Selenium的脚本可以在无头浏览器中执行,PhantomJS和Chrome headless都是无头浏览器。 PhantomJS即将不再维护,而Chrome公司宣布要支持headless模式,目前已经(chrome 63我用的)可以使用了。方法很简单,但是有很多坑,下面的代码是调试过可以工作的:      Chr

2018-01-22 16:46:11 842

原创 Web UI自动化测试框架搭建之十四: 复用Cookies绕过登录界面(尤其包含验证码)提高脚本执行速度

复用cookies可以绕过登陆界面,从而绕过登陆界面的验证码,同时也加快了脚本的执行速度WebDriver保存和使用cookies的主要方法如下:allCookies = driver.manage().getCookies();如果想查看cookies,可以使用如下代码:     for (Cookie ck : allCookies) {    logger.info("T

2018-01-22 16:34:26 1898

转载 Web UI自动化测试框架搭建之十三: 使用BrowserMobProxy截获WebDriver浏览器的HTTP请求响应

https://github.com/lightbody/browsermob-proxy里面有详细的代码实例如下:    // start the proxy    BrowserMobProxy proxy = new BrowserMobProxyServer();    proxy.start(0);    // get the Selenium proxy object

2018-01-08 13:24:46 1932

原创 Web UI自动化测试框架搭建之十二: 启动自定义profile的WebDriver浏览器

WebDriver driver = new FirefoxDriver(),其Selenium webDriver启动的FF是一个空的FF,和全新安装的浏览器一样如果希望WebDriver启动的浏览器带有某些配置信息,如:代理,证书,cookies等,需要手动创建个带有希望信息的FF profile,然后初始化的时候作为参数传进来,方法如下:开始-->运行(注意FF要全部关掉),输入: 

2018-01-08 11:57:21 335

转载 Web UI自动化测试框架搭建之十一: Eclipse首次提交代码到GIT

代码控制管理工具也是设计框架时要考虑的问题,我按照下面的第一个链接只能部分配置成功,然后再接着按照第二个链接才完成代码提交:http://blog.csdn.net/hhhccckkk/article/details/10458159http://blog.csdn.net/edc0228/article/details/78075028

2018-01-08 11:29:38 228

原创 Web UI自动化测试框架搭建之十:分层设计

分层架构已经得到了广大的认可和普及,好的分层架构能最大化的减少代码维护成本。我采用的是基于Page Object模型的三层架构模型:base层:里面是Selenium识别页面元素的locator以及对应的ByOperations层: 页面元素的操作组合的,它可以被testCase层重复利用Testcase层: 基于业务逻辑的测试案例最佳实践:1:对字符串的处理,优先

2018-01-08 11:20:09 1190

原创 Web UI自动化测试框架搭建之九:Selenium定位web页面元素的原则、方法、工具

为了增加脚本的鲁棒性,减少代码维护的成本,又能缩短脚本的运行时间,页面元素定位的最佳实践为:1:优先选用id, name定位;2:其次是cssSelector,速度比xpath快3:xpath定位能力强,用的相对路径来定位,避免未来页面元素的变动,而影响定位到的元素,从而增加代码维护成本。Selenium支持很多种定位,网上参考文档也很多,这里不赘述,这里给出一个常用的易混

2018-01-08 10:25:09 838

原创 Web UI自动化测试框架搭建之八:编码格式统一为UTF-8

如果操作系统是中文系统,Eclipse默认的编码格式是GBK,需要改为支持更广泛的UTF-8,步骤如下:Eclipse --> Window --> Preferences --> Workspace --> Text file encoding --> 选择Other: UTF-8同时也注意在pom.xml 中配置UTF-8的编码格式,可以避免很多编码类错误。      

2017-12-29 19:29:47 366

转载 Web UI自动化测试框架搭建之七:代码格式

当代码要共享时,需要规范代码格式,可以去网上搜索好用的代码格式,我找到了下面的google java styleStep 1: Download the Google Java Style guide definition for EclipseThe definition is here. (https://github.com/google/styleguide/blo

2017-12-29 19:24:57 743

原创 Web UI自动化测试框架搭建之六:扩展testNG支持自动执行失败的脚本

1: 实现接口IRetryAnalyzer中的retry方法,如下:public class MyRetryAnalyzer implements IRetryAnalyzer {  private int curentRetryCnt = 0;  private int maxRetryCnt = 2;  public boolean retry(ITestResult re

2017-12-29 19:22:15 290

原创 Web UI自动化测试框架搭建之五:把log4j的log输出到reportNG测试报告里

直接上已经调试过的步骤:1: 实现log4j的抽象类AppenderSkeleton,在append中加如下代码片段: Reporter.log(eventToString(event));  private String eventToString(final LoggingEvent event) {    final StringBuilder result = new

2017-12-29 18:55:04 995

原创 Web UI自动化测试框架搭建之四:安装配置log工具log4j

直接上已经调试通过的配置步骤:1:登陆 maven repository 网站 --> 搜索log4  --> 点击搜索结果中Apache Log4j的图片(http://mvnrepository.com/artifact/log4j/log4j) --> 选择新版本  --> 拷贝pom配置代码片段到自己项目工程的pom.xml文件,鼠标右键项目工程 --> Maven --> Upd

2017-12-29 18:39:05 392

原创 Web UI自动化测试框架搭建之三:安装配置测试报告展示工具reportNG

testNG默认的测试报告UI不好看,reportNG的UI相对好看并易用些。下面直接上已经调试通过的配置方法:1:登陆 maven repository 网站 --> 搜索reportNG(http://mvnrepository.com/search?q=reportNG)  --> 点击搜索结果的图片 --> 选择新版本  --> 拷贝pom配置代码片段到自己项目工程的pom.x

2017-12-29 18:16:36 534

原创 Web UI自动化测试框架搭建之二:安装配置单元测试框架TestNG

TestNG是一款非常优秀的单元测试工具,与Junit的比较,请查阅其他文章。在项目中使用testNG,1:编写testNG的测试脚本,需要import testNG,其依赖的jar包可以从maven公共仓库里下载,http://mvnrepository.com/artifact/org.testng/testng2:在Eclipse里面鼠标右键菜单中显示TestNG,需要安装TestN

2017-12-29 17:47:36 360

原创 Web UI自动化测试框架搭建之一:安装配置基本工具

web UI自动化测试框架需要的子框架(工具): Eclipse+ Maven + Selenium + JAVA + TestNG + Log4j + ReportNG1:下载并安装Eclipse URL http://www.eclipse.org/downloads/eclipse-packages/ 我安装的版本号是Version: Oxygen.1a Release (4.7.1a)

2017-12-29 15:12:01 985

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除