news 2026/6/22 20:34:24

搭建UI自动化测试框架

作者头像

张小明

前端开发工程师

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

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

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

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

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

全链路压测到底是什么?如何开展全链路压测?

随着业务的快速发展我们日常遇到的系统性能压力问题也逐渐出现,甚至在部分场合会遇到一些突发的营销活动,会导致系统性能突然暴涨,可能导致我们系统的瘫痪。最近几年随着电商的各种促销活动,有一个词也渐渐进入我们眼帘&#xff0…

作者头像 李华
网站建设 2026/6/22 14:31:51

还在手动调参?Open-AutoGLM自动化指令优化已实现95%准确率(附实测数据)

第一章:Open-AutoGLM指令意图识别优化的背景与意义在自然语言处理领域,准确识别用户指令的意图是构建高效对话系统的核心任务。随着大语言模型的广泛应用,传统意图识别方法在面对复杂、多变的用户输入时逐渐暴露出泛化能力弱、上下文理解不足…

作者头像 李华
网站建设 2026/6/21 17:39:23

android13避免开机进入安全模式

因为硬件和驱动主方便修改,只能从软件来改改 diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 6a75d8a8368a..b1f67a1ed96c 100644 --- a/services…

作者头像 李华
网站建设 2026/6/19 19:02:39

揭秘Open-AutoGLM意图识别瓶颈:3步实现指令理解准确率提升90%

第一章:Open-AutoGLM指令意图识别优化概述Open-AutoGLM 是一个面向自然语言指令理解的开源框架,专注于提升大语言模型在复杂任务场景下的意图识别准确率与响应效率。该框架通过动态语义解析、上下文感知增强和多粒度指令分类机制,显著优化了传…

作者头像 李华
网站建设 2026/6/22 1:26:39

JavaWeb_Web基础

Web基础静态资源:服务器上存储的不会改变的数据,通常不会根据用户的请求而变化。如HTML、CSS、JS、图片、视频等(负责页面展示)。动态资源:服务器端根据用户请求和其他数据动态生成的,内容可能会在每次请求…

作者头像 李华
网站建设 2026/6/20 23:46:28

从选题到框架:8个 AI 工具,把开题报告的 “难” 变成 “顺”

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 凌晨三点的课题组聊天框里,永远飘着同一句话:“开题报告到底怎么写?” 有人卡在 “选题太老被导师打回”&#x…

作者头像 李华