App自动化测试持续集成效率提高50%

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。

Jenkins 是基于 Java 开发的持续集成工具,开源免费,官网:https://jenkins.io/

App 自动化测试执行策略

自动化测试主要用于回归测试,我们可以制定执行策略:比如每天固定、开发代码更新后定时执行,这就需要与 Jenkins 进行集成。

Jenkins 集成 App 自动化测试问题点:

App 自动化需要用到真机或模拟器,而 Jenkins 一般是部署在服务器上面的,将真机或模拟器接入到服务器上显然是不可能。

解决方案:

申请一台专门用于做自动化测试的本地电脑,部署自动化测试环境,连接本地的真机/模拟器

在公司服务器(内部服务器 or 阿里云/腾讯云服务器)上部署 Jenkins

利用 Jenkins master-slave 模式将任务下发给对应的本地电脑,在本地电脑上执行任务

具体步骤

需要注意的是:本地执行电脑需要配置好 JDK+Maven+Android SDK+Git 的环境,并且需要通过 adb 链接上设备。

Jenkins 主从模式(master-slave)使用:

添加 Node 节点

Manage Jenkins -> Manage Nodes and Clouds -> New Node

需要注意 Launch method 一定要开启 jenkins 的远程连接端口,否则 slave 从机无法连接上 Jenkins 服务。这种连接用的是 JNLP4 协议, 这种协议是在 WebSocket + TLS 的基础上封装而成的长连接协议。可以在 jenkins 的安全设置面板中开启:进入 Jenkins 首页-> 安全面板

连接 slave 从机

两种方式都可以连接 slave 从机

任务配置中选择对应 slave 从机构建

可能碰到的问题 1:

D:\jenkins-slave\workspace\jenkins_maven_demo>mvn clean test

The JAVA_HOME environment variable is not defined correctly

This environment variable is needed to run this program

NB: JAVA_HOME should point to a JDK not a JRE

ERROR: Error cloning remote repo 'origin'

hudson.plugins.git.GitException: Could not init D:\jenkins-

slave\workspace\jenkins_maven_demo

解决方案:在 slave 节点配置工具路径:

可能碰到的问题 2:

mvn not found

Jenkins slave 节点的环境变量中没有 maven 的导致的,解决方案:将 slave 机器上面的 PATH 环境变量复制到此处:


【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(文末尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
茶猫_3 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
霍格沃兹测试开发学社测试人社区5 小时前
提升软件测试报告的质量:Allure2中添加用例失败截图、日志、HTML块和视频的方法
软件测试·测试开发
幽兰的天空6 小时前
默语博主的推荐:探索技术世界的旅程
学习·程序人生·生活·美食·交友·美女·帅哥
Rstln6 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
行則独善其身9 小时前
计算机网络-VPN虚拟专用网络概述
程序人生
陪学9 小时前
百度遭初创企业指控抄袭,维权还是碰瓷?
人工智能·百度·面试·职场和发展·产品运营
ifanatic13 小时前
[面试]-golang基础面试题总结
面试·职场和发展·golang
行則独善其身14 小时前
华为无线AC+AP组网实际应用小结
程序人生
霍格沃兹测试开发学社测试人社区15 小时前
数据驱动与并行策略:用 JUnit 5 让软件测试更高效
软件测试·测试开发·junit
霍格沃兹测试开发学社测试人社区15 小时前
软件测试丨探索 JUnit 5 中的参数化与调度执行:提升软件测试的效率与灵活性
软件测试·测试开发·junit