独立搭建UI自动化测试框架

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

今天给大家分享一个selenium+testng+maven+antUI自动化 ,可以用于功能测试,也可按复杂的业务流程编写测试用例,今天此篇文章不过多讲解如何实现CI/CD,只讲解自己能独立搭建UI框架,需要阅读者有一定的java语言基础,文档中的有些注解我就不详细介绍了,感兴趣的可以去java官网查看。

废话就不多说了,开始实例讲解。

开发工具:idea2017

开发平台:windows

举例模板:百度搜索

开发语言:java

可拓展mysql,shell,api 等

提供:代码demo---打包形式发出

新建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 的操作,下期在做讲解,希望通过此篇文章能给您带来 有用的知识,谢谢!

最后工程的整体目录结构,如下图:

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
廖松洋(Alina)1 小时前
07答案比对与反馈UI-鸿蒙PC端Electron开发
javascript·ui·华为·electron·开源·harmonyos·鸿蒙
UI设计兰亭妙微1 小时前
兰亭妙微|全球化产品设计手册:从国际化适配到本地化深耕,UI设计公司出海实践指南
ui·b端界面设计·高端网站设计
chushiyunen1 小时前
langgraph的并行案例、超步(super step)、分组
python
qq_283720051 小时前
Embedding 调优实战技巧:从原理到落地,打造高精度向量检索
python·算法·词嵌入·调优
威联通网络存储1 小时前
QNAP 边缘计算底座:车间 IoT 容器化部署方案
人工智能·python·物联网·边缘计算
li星野1 小时前
滑动窗口五题通关:从最小覆盖子串到水果成篮(Python + C++)
c++·python·学习
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月11日
大数据·人工智能·python·信息可视化·自然语言处理
Ulyanov1 小时前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 刚体觉醒——6-DOF刚体动力学、四元数与全姿态解算
开发语言·人工智能·python·算法·系统仿真·雷达电子对抗仿真
Sylvia33.1 小时前
足球数据API接入实战:从认证到实时比分推送的完整指南
java·开发语言·前端·c++·python