news 2026/4/16 7:44:32

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
独立搭建UI自动化测试框架分享

今天给大家分享一个selenium+testng+maven+ant的UI自动化,可以用于功能测试,也可按复杂的业务流程编写测试用例,今天此篇文章不过多讲解如何实现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 的操作,下期在做讲解,希望通过此篇文章能给您带来 有用的知识,谢谢!

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 7:44:09

java之异常

文章目录一、异常的概念二、异常的分类1.常见的几个运行时异常2.常见的几个编译时异常三、处理异常1.防御式编程2.异常的抛出3.异常的捕获(1)异常声明throws(2)try-catch捕获并处理4.异常的处理流程5.自定义异常一、异常的概念 异…

作者头像 李华
网站建设 2026/4/16 7:44:31

收藏!有哪些医药行业RPA案例?全场景实战解析,看完就懂

“一款新药从实验室到药房,平均要花10年时间、烧20亿美元,成功率却不足10%”——这组流传在医药圈的数字,道出了行业的痛点。更让人焦虑的是,研发之外,生产车间里3人5天才能审核完的批记录、供应链上上千家经销商的混乱…

作者头像 李华
网站建设 2026/4/8 16:02:49

适合初学者的Agent工具有哪些?从入门到上手的完整避坑指南

打开招聘软件,“熟悉AI Agent工具优先”的标注越来越常见;刷技术社区,“多智能体协作”“自主任务规划”的讨论热度居高不下。作为一个去年还对“Agent”一词一头雾水的职场人,我太懂初学者的迷茫——明明知道这是未来的职场必备技…

作者头像 李华
网站建设 2026/4/13 23:00:01

国内知名AI Agent智能体全解析:从技术原理到顶尖产品,一篇读懂

凌晨三点的财务办公室,实习生小李还在对着五六个系统反复复制粘贴数据;另一边,市场部张经理盯着满屏的用户反馈,愁于无法快速提炼出有效需求——这样的场景,是不是在你的职场中频繁上演?但如果告诉你&#…

作者头像 李华
网站建设 2026/4/8 13:53:09

测试老鸟经验,性能测试-性能结果分析详情,看这篇就够了...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 分析原则&#xf…

作者头像 李华