jenkins+stf+airtest实现移动端自动化测试平台
背景:
- 公司android测试机比较多没有统一的管理;
- app自动化测试时获取设备的状态比较麻烦,通过STF可以轻松获取;
- 自动化异常场景时、可远程操控设备;
- 需要随时了解设备情况;
- 装逼
前提:
已安装jenkins和stf环境
环境:
- 已部署OpenSTF与Jenkins在同一服务器上
步骤:
1.jenkins安装Open STF Plugin:
2.创建一个测试项目看看插件是否安装成功:
- 看到构建环境下多了个“Use a STF device during build”配置,OK,插件安装完毕
3.创建访问令牌:
若要让Jenkins中的STF插件发挥作用,需要创建一个从Jenkins访问OpenSTF的令牌
登录OpenSTF并进入“设置” - >“按键”选项卡
点击访问令牌旁边的“+”按钮
- 将生成好的令牌复制下来,保存到文本
- 点击旁边的确定按钮
- 这个令牌只会显示一次,所以在点击确定之前务必要记下!
4.在Jenkins中注册令牌:
- 找到Open STF设置
- 在“STF API endpoint URL”项填写STF服务URL
- 在“STF Access Token”项中将前面复制下来的访问令牌填写到此处
- 点击“save”保存
5.指定作业终端:
- 与STF界面中看到的设备列表一致,OK
- 点击“Add”按钮可添加需要使用的设备,并能够按条件搜索
- 例如,我现在指定“HUAWEI”,则界面只显示华为设备
- 鼠标在设备上悬浮,可显示设备详情
6.注册ADBKey
- 第一次从服务器访问时,需要对ADB Key进行注册
- 当使用adb connect命令执行连接时,STF界面会出现询问是否“添加ADB Key到STF”的提示,请点右下角的“+添加Key”
至此、基本的配置已经完了已经可以和STF进行通讯了
————————————————————————————————————————jenkins搭建多配置项目STF-重点——————————————————————————————————————————
概述:
stf 作为设备管理平台,Jenkins 作为任务调度中心,右 Jenkins 向 stf 获取设备并执行任务;
stf 访问路由配置:
STF API endpoint URL 这里配置要写 stf 服务的真实 ip,真实 ip 在启动 stf 的时候通过--public-ip 参数指定,比如我的 http://192.168.1.194:7100/api/v1
Android 路径配置:
接下来就是新建 job,配置任务执行了
创建多配置项目:
新建任务的时候需要指定是一个多配置项任务,因为这里要根据不同的手机序列化同时启动多个子任务。
STF DEVICE CONDITION 配置项,name 参数是可以自定义的一个变量名,下面的 value 是自定获取 stf 连接的设备,可以按住 shift 键选中要执行的设备。
执行shell命令:
注意:$uuid是变量表示设备id
执行python脚本并把设备id传到脚本
——————————————————————STF的常用接口———————————————————————————————————————
1.用户当前正在使用的设备的列表
Method:GET
URL:http://127.0.0.1:7100/api/v1/user/devices
STF接口需要先在Header中添加token:
Authorization: Bearer d934206703ce456db5c45fa84b5fe1783354a552876744cb8f0a3bd913fdb68
2.使用设备
Method:POST
URL:http://127.0.0.1:7100/api/v1/user/devices
Header:
(1)Authorization: Bearer d934206703ce456db5c45fa84b5fe1783354a552876744cb8f0a3bd913fdb68f
(2)Content-Type:application/json
Body:{"serial":"192.168.40.68:5555”}
3.释放设备-停止使用
Method:DELETE
URL:http://127.0.0.1/api/v1/user/devices/192.168.40.68:5555
Header:Authorization: Bearer d934206703ce456db5c45fa84b5fe1783354a552876744cb8f0a3bd913fdb68f
相关连接:
https://blog.csdn.net/u011608531/article/details/105283652 .........................STF开放的接口
https://www.cnblogs.com/v88v/p/10405338.html ..................搭建OpenSTF+Jenkins持续集成环境的协同开发
https://ld246.com/article/1578308109813 ......................jenkins+stf 搭建移动端自动化测试平台 -多设备
https://blog.csdn.net/weixin_34304013/article/details/85987309 ..............执行shell报错 marked build as failure
jenkins+stf+airtest实现移动端自动化测试平台的更多相关文章
- 基于Jmeter+maven+Jenkins构建性能自动化测试平台
一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...
- 接口自动化测试平台-接入持续集成jenkins
开篇提到,自动化测试最终期望还是能接入持续集成系统jenkins,下面记录下Go接口自动化测试平台是如何设计接入jenkins的. 回到Go接口自动化测试平台,在web系统中触发测试任务执行的入口为: ...
- 集成 Jenkins 和 TestNG 实现自助式自动化测试平台
背景介绍 在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求.缩短的开发周期.频繁的部署上线.复杂的产品架构和团队组织,如何继续保证软件的质量是一 ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- Jenkins+Ant+Jmeter自动化测试平台
持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动 ...
- 自动化测试平台环境docker部署
参考资料:testin云测 https://www.testin.cn接口自动化测试平台:http://120.79.232.23星云测试 http://www.threadingtest.com腾讯 ...
- 从0到1搭建移动App功能自动化测试平台(0):背景介绍和平台规划
本文作者: 伯乐在线 - debugtalk .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 转载地址:http://blog.jobbole.com/101221/ 背景 最近新加入DJI的 ...
- 基于HttpRunner的接口自动化测试平台HttpRunnerManager(二)
https://github.com/HttpRunner/HttpRunnerManager HttpRunnerManager Design Philosophy 基于HttpRunner的接口自 ...
- 基于图像识别框架Airtest的Windows项目自动化测试实践
写在前面 上一篇分享了<基于Sikuli GUI图像识别框架的PC客户端自动化测试实践>,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋.而同样基于图像识别框架的Airt ...
- selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)
最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...
随机推荐
- spark数据清洗
spark数据清洗 1.Scala常用语法 运用maven创建项目,需要导入如下依赖: <dependency> <groupId>org.apache.spark</g ...
- 网关与网络地址(网络号)以及IP地址、广播地址
转载新浪博客: http://blog.sina.com.cn/s/blog_406127500101i8bp.html
- sublime text中开启本地服务器
步骤: 1 Ctrl+shift+p-> 输入选中install package 2 输入sublimeserver回车安装即可 3 安装完了以后,需要开启服务器 4 回到页面上右键 转载于:h ...
- Vue 禁止按钮多次点击 重复提交数据(指令实现)
全局定义,方便调用 新建plugins.js export default { install (Vue) { // 防重复点击(指令实现) Vue.directive('preventReClick ...
- 基于Docker使用CTB生成地形切片并加载
1. 引言 CTB(Cesium Terrain Builder)是一个用于地形切片的C++编写的命令行工具 GitHub地址为:GitHub - geo-data/cesium-terrain-bu ...
- thinkphp5框架使用总结
因为采用了mvc模式,所以理解上为了简便,把控制中心作为一个浏览对象去处理,其他不要去考虑只把它们当做附属物 一.路径访问方式 http://网址/index.php/模块/控制器/操作.html 其 ...
- 1405. 最长快乐字符串 (Medium)
问题描述 1405. 最长快乐字符串 (Medium) 如果字符串中不含有任何 'aaa', 'bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」. 给你三个整数 a, ...
- Spring Security 5 ----默认的filter都有什么用?
我去找参考资料时,大部分只是来自于官网,但是很少分析为什么这么干,所以网络代码只停留于demo,生产级的应用却需要另外思考,不思考会有坑哦.大部分资料,合理不合理先不说,反正通了就行.本文试图去找寻, ...
- FMC子卡设计资料原理图:FMC177-基于AD9361的双收双发射频FMC子卡
FMC177-基于AD9361的双收双发射频FMC子卡 一.板卡介绍 FMC177射频模块分别包含两个接收通道与发射通道,其频率可覆盖达到70MHz~6GHz,AD9361芯片提供具有成本效益的实验平 ...
- input type='number' 去除小箭头 clear arrow
input type='number' 去除小箭头 两种方法 方法一 For chrome, Safari, Edge, Opera : input::-webkit-outer-spin-butto ...