当前位置: 首页 > news >正文

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 环境变量复制到此处:

【整整200集】超超超详细的Python接口自动化测试进阶教程合集,真实模拟企业项目实战

http://www.lryc.cn/news/160630.html

相关文章:

  • LeetCode —— 复写零(双指针)
  • 【Vue篇】Vue 项目下载、介绍(详细版)
  • Python批处理(一)提取txt中数据存入excel
  • 只考一门数据结构!安徽工程大学计算机考研
  • Ubuntu 20.04出现蓝牙无法打开的问题(已解决)
  • 并发测试工具 apache-jmeter使用发送post请求JSON数据
  • 牛客练习赛115 A Mountain sequence
  • 通过git bash激活虚拟环境遇到的问题
  • EasyAVFilter代码示例之将摄像机RTSP流转成RTMP推流输出
  • 【【C语言康复训练-4】】
  • [DM8] DM-DM DBLINK DPI方式
  • 创建了一个名为nums_list的vector容器,其中存储了一系列的pair<int, int>
  • SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置
  • Leetcode143. 重排链表
  • Git 回顾小结
  • 响应式布局(3种) + flex计算
  • Pytorch从零开始实战01
  • inappropriate address 127.0.0.1 for the fudge command, line ignored 时间同步的时候报错
  • linux并发服务器 —— 项目实战(九)
  • 生信教程|替代模型选择
  • redis持久化、主从和哨兵架构
  • Python 连接 Oracle 详解
  • 认识模块化
  • 2023年及以后语言、视觉和生成模型的发展和展望
  • OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
  • Java | 排序内容大总结
  • Go 语言入门指南:基础语法和常用特性解析
  • 20.添加HTTP模块
  • Qemu 架构 硬件模拟器
  • 通过starrocks jdbc外表查询sqlserver