前言
今天给大家分享一个selenium+testng+maven+ant的UI自动化,可以用于功能测试,也可按复杂的业务流程编写测试用例,今天此篇文章不过多讲解如何实现CI/CD,只讲解自己能独立搭建UI框架,需要阅读者有一定的java语言基础,文档中的有些注解我就不详细介绍了,感兴趣的可以去java官网查看。
废话就不多说了,开始实例讲解。
开发工具:idea2017
开发平台:windows
举例模板:百度搜索
开发语言:java
可拓展mysql,shell,api 等
提供:代码demo—打包形式发出
同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档
软件测试视频教程观看处:
字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战
新建java模块
有两种创建方式
1. 点击欢迎屏幕上的 Create New Project
2. 或选择 File| New | Project
看到打开的新建项目向导窗口
如果你要在现有项目中添加一个模块:打开要添加模块的项目,然后选择File | New | Module.
填写好相关的group和artifact后点击【Next】,最后Finish。
引入驱动,--与src 同级目录新建一个文件夹 lib;
引入pom.xml ,目的是托管所有依赖jia包;--与src同级目录
引入 build.xml,目的是与Jenkins关联实现CI;
引入log4j2.xml,目的打印日志;--在src目录下
新建公共模块包:目的存放公共类
新建元素模块包:目的存放测试元素;
新建步骤模块包:目的测试用例的执行步骤;
新建执行测试模块包:目的执行测试用例;
新建 conf模板包:目的放系统配置文件;
整个项目目录结构如下图所示:
下面是实例化讲解
1. 新建class—runDriver.class 用于启动浏览器驱动—公共方法
我是基于windows系统开发的,如果是mac 替换一下驱动就行
2. 新建BrowerDriver.class 对浏览器的公共方法
此类下面有 打开和关闭浏览器的公共方法;
3. 新建读写系统文件ReadPreperties.class类
4. 还有很多其他公共的类,在此就不一一讲解了,稍后会提供demo
比如:自动生成手机号,姓名,身份证号等
5. 以百度 为例 开始写 元素类
在com.ui.auto.element 下新建BaiDuElement.class
6. 在com.ui.auto.step下新建BaiDuStep.class
7. 在com.ui.auto.case 下新建BaiDuCase.class
需要引入testng jra包的三个注解
@BeforeTest
将会在一个元素定义的所有里面所有测试方法执行之前运行,在此 先运行 打开浏览器 操作
@Test
要被执行的测试方法
@AfterTest
将会在一个元素定义的所有里面所有的测试方法执行之后运行
通过上面几步 一个模块的ui测试流程基本讲解完成,这个框架的目的就是便于维护,里面也可以添加 api 及 数据源的操作,数据库的关联等,
如何和Jenkins关联呢?
需要在 与src 同目录下新建一个 testng.xml 内容如下:
新建 Jenkins-job 后代码上传到gitlab 上,执行 BaiDuTestng.xml就行(这是和ant 关联);
还有另外一种方法 maven,在pom 里配置相关的testng.xml,如下例子
如何通过ant 和Jenkins 实现 CI 及 maven 和Jenkins实现CI 的操作,下期在做讲解,希望通过此篇文章能给您带来 有用的知识,谢谢!
最后工程的整体目录结构,如下图:
写在最后
我给大家整理了一套软件测试面试文档和一整套的软件测试资源,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。【点击文末小卡片免费领取软件测试全套资料】
资料包括:测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等。
上面是我收集的一些软件测试视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我下方扣扣群,里面有各种软件测试资源和技术讨论。