献给想提升编码能力的测试人员,一步步教大家上手Java自动化测试架构设计

发布时间:2023年12月29日

今天是2023年的最后一个工作日,给大家再送干货,为2023画上圆满句话!在这里提前祝大家新年快乐!

最近讲了很多基于PO模式的自动化架构设计的相关文章,这里给大家做一个完整的总结,并提供

maven源码给大家(文章中有源码截图,大家也可以选择花费积分下载https://download.csdn.net/download/liwenxiang629/88677367

文章中每一个重要的知识点都有更为详细的链接文章进行深度解读。文章有点长,建议大家收藏慢慢消化,相信认真阅读过文章的同学一定会有非常大的收获!

再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!

再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!

再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!

本文想要完全理解,需要读者有自动化测试和 selenium 相关技术积累,如果您是小白,也可以参考下面文章

Selenium原理精讲_selenium sonar 代码分析原理-CSDN博客

一文搞定Java和Python在Selenium3中的应用_selenium不是python的库吗,咋是java+selenium-CSDN博客

入门自动化测试必须知道的核心知识点_自动化测试的核心工作-CSDN博客

五分钟理解什么是自动化测试架构设计_自动化测试软件架构设计专业-CSDN博客

项目架构介绍

技术实现:jkd11+selenium4+junit4+maven+WebDriverManager

项目整体架构如下:

testcase目录中存放测试用例;

framework目录中存放优化自动化测试的相关类库,其中:

  • 封装业务类BussinessLib,把通用业务封装便于复用
  • ObjectStore类,自动化工程的UI元素库
  • 工具类Toolkit,把与业务无关的通用方法封装便于复用

test目录中存放测试执行入口文件,执行命令mvn test 时会自动执行

核心类库代码实现

封装业务类BussinessLib代码

关于BussinessLib类的设计思路可以参考文章:

自动化测试架构设计必会知识点——对核心业务进行封装复用(附Java源码)-CSDN博客

ObjectStore类代码

关于Object类的设计思路可以参考文章:

无论您用selenium、appium还是playwright都必须使用PO设计模式-CSDN博客

工具类Toolkit代码

关于Toolkit类的设计思路可以参考文章:

绝对干货!自动化测试PO设计模式的进阶实现(附源码),适合想提升编码能力的测试同学-CSDN博客

测试用例类BaiduTest1代码

?

关于代码中WebDriverManager的使用可以参考文章:

福音!Selenium使用WebDriverManager以后,再也不用被浏览器driver与浏览器版本不匹配的问题折磨了!_might not be compatible with the detected chrome v-CSDN博客

测试用例类BaiduTest2代码

?

测试入口执行类AllTests代码

?

如果大家想要了解更多JUnit4 相关的知识点,可以参考文章:

详解Junit4单元测试框架的应用_单元测试用的startwith equalto-CSDN博客

干货!使用Java注解和反射实现Junit4中的用例调用(附源码)_junit4 测试方法中调用自己的方法-CSDN博客

一文搞定单元测试核心概念_单元测试记录 范围描述-CSDN博客

从0到1上手JUnit5_eclipse4.6.3 junit5 插件 安装-CSDN博客

Pom.xml

<dependency>
??? <groupId>org.seleniumhq.selenium</groupId>
??? <artifactId>selenium-java</artifactId>
??? <version>4.16.1</version>
</dependency>

<dependency>
??? <groupId>io.github.bonigarcia</groupId>
??? <artifactId>webdrivermanager</artifactId>
??? <version>5.6.2</version>
</dependency>

<dependency>
??? <groupId>junit</groupId>
??? <artifactId>junit</artifactId>
??? <version>4.13.2</version>
</dependency>

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

文章来源:https://blog.csdn.net/liwenxiang629/article/details/135290891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。