持续集成 (Continuous integration,简称 CI)
持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。
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'解决方案:在 slave 节点配置工具路径:
hudson.plugins.git.GitException: Could not init D:\jenkins-
slave\workspace\jenkins_maven_demo
文章图片
可能碰到的问题 2:
mvn not foundJenkins slave 节点的环境变量中没有 maven 的导致的,解决方案:将 slave 机器上面的 PATH 环境变量复制到此处:
文章图片
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
文章图片
【干货分享|持续集成这样做,App自动化测试效率提高50%】这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…..关注下方我的微信公众号【程序员小濠】免费获取~
推荐阅读
- 软件测试|学会这篇至少涨薪10K(appium+python+jenkins自动化测试框架持续集成)
- 技术分享|MRO工业品行业产业转型,建立B2B集采平台发展业态模式
- 软件测试|订单怎么测试()
- 测试工程师|电商项目订单状态变更的测试点
- 接口测试|POSTMAN使用学习笔记--通过newman生成测试报告
- java|我们一起学一学渗透测试——基础概念
- 面试系列|阿里面试官偷偷给我的软件测试工程师面试题,拿offer率老高了
- 自动化测试|【Appium实战】如何使用mumu模拟器模拟安卓手机
- 编程语言|末日来临,你的编程语言能干嘛( | 每日趣闻)