背景:

  1. 公司android测试机比较多没有统一的管理;
  2. app自动化测试时获取设备的状态比较麻烦,通过STF可以轻松获取;
  3. 自动化异常场景时、可远程操控设备;
  4. 需要随时了解设备情况;
  5. 装逼

前提:

已安装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实现移动端自动化测试平台的更多相关文章

  1. 基于Jmeter+maven+Jenkins构建性能自动化测试平台

      一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...

  2. 接口自动化测试平台-接入持续集成jenkins

    开篇提到,自动化测试最终期望还是能接入持续集成系统jenkins,下面记录下Go接口自动化测试平台是如何设计接入jenkins的. 回到Go接口自动化测试平台,在web系统中触发测试任务执行的入口为: ...

  3. 集成 Jenkins 和 TestNG 实现自助式自动化测试平台

    背景介绍 在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求.缩短的开发周期.频繁的部署上线.复杂的产品架构和团队组织,如何继续保证软件的质量是一 ...

  4. Jmeter+ant+jenkins接口自动化测试 平台搭建(一)

    平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...

  5. Jenkins+Ant+Jmeter自动化测试平台

            持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动 ...

  6. 自动化测试平台环境docker部署

    参考资料:testin云测 https://www.testin.cn接口自动化测试平台:http://120.79.232.23星云测试 http://www.threadingtest.com腾讯 ...

  7. 从0到1搭建移动App功能自动化测试平台(0):背景介绍和平台规划

    本文作者: 伯乐在线 - debugtalk .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 转载地址:http://blog.jobbole.com/101221/ 背景 最近新加入DJI的 ...

  8. 基于HttpRunner的接口自动化测试平台HttpRunnerManager(二)

    https://github.com/HttpRunner/HttpRunnerManager HttpRunnerManager Design Philosophy 基于HttpRunner的接口自 ...

  9. 基于图像识别框架Airtest的Windows项目自动化测试实践

    写在前面 上一篇分享了<基于Sikuli GUI图像识别框架的PC客户端自动化测试实践>,但sikuli看起来怎么都像是上个世纪的界面风格,且功能过于简陋.而同样基于图像识别框架的Airt ...

  10. selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)

    最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...

随机推荐

  1. JZOJ 3566. 【GDKOI2014】阶乘

    题目 求十进制 \(n!\) 在 \(m\) 进制下末尾 \(0\) 的个数 分析 签到题 只要看 \(n!\) 有多少个 \(m\) 的倍数就好了 考虑分解 \(m\) 的质因子 然后根号计算每个因 ...

  2. @Transactional千万不要这样用!!踩坑了你都可能发现不了!!!

    前阵子接手了一段同事之前的代码,里面用到了@Transactional注解,了解Spring的小伙伴肯定知道,@Transactional是Spring提供的一种控制事务管理的快捷手段.但是我这段程序 ...

  3. LAMP环境搭建——最详细的手工编译

    环境:阿里云服务器ECS,Alibaba Cloud Linux 3.2104 LTS 64位 ,2核(vCPU) 2 GiB LAMP 是搭建Web应用时最常用的环境,LAMP 分别表示 Linux ...

  4. 基于Docker部署Dubbo+Nacos服务

    一.说明 本文介绍基于 Docker 部署一套 Dubbo + Nacos 的微服务环境,并解决容器里的 IP 及端口的访问问题. 基于上文<基于jib-maven-plugin快速构建微服务d ...

  5. keep-alive详解

    1.什么是keep-alive? keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们.keep-alive 是一个抽象组件:它自身不会渲染成一个 ...

  6. 五子棋 framebuffer版

    要在家目录下 makefile 1 main : main.o fun.o input.o fb_draw.o 2 gcc -Wall -o $@ $^ 3 clean : 4 rm -rf *.o ...

  7. Compiler25th005: Excel Compiler

    Excel Compiler XCell Compiler, also known as Excel Compiler, offers very strong and hassle free Micr ...

  8. CPU L1,L2,L3多级缓存的基本作用

    基本作用 加快CPU与主内存之间的数据交换. 区别 缓存类型 L1 L2 L3 位置 最靠近CPU核心 次之 再次之 容量 一般几十KB~几百KB 几百KB~几MB 几MB~几十MB 速度 几个时钟周 ...

  9. web实践学习3

    web实践学习3 20201303张奕博 2023.1.26 创建树 从预览动图和页面可以看到,浮岛上共有两种树 ,绿色的高树和粉红色的矮树,树的实现也非常简单,是使用了两个 BoxBufferGeo ...

  10. windows的lib与dll

    mingw编译出来的动态库的导入库可以直接在vc中直接使用 静态库 lib .a 动态库 dll动态库导入库 lib .dll.a 静态链接库a) 静态链接库的类和函数不需要导出,就能够被其他库调用. ...