背景:

  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. 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐

    1. 推荐算法的初步理解 如果说互联网的目标就是连接一切,那么推荐系统的作用就是建立更加有效率的连接,推荐系统可以更有效率的连接用户与内容和服务,节约了大量的时间和成本. 1.1 推荐系统主要解决问题 ...

  2. 0x06_自制操作系统My-OS,IDT,GDT,PIC初始化,实现键盘中断

    把class03改成class04 IDT,GDT,PIC 我来介绍什么是IDT和GDT,PIC,怎么实现键盘中断 GDT全局描述表在16位CPU用不到,到了32位CPU要用. 16位CPU实模式用基 ...

  3. JZOJ 7392. 【2021.11.17NOIP提高组联考】数 (ds)

    \(\text{Problem}\) 元素带类型与权值,每次修改权值或类型,求区间每种类型和的 \(k\) 次方和 强制在线 \(\text{Solution}\) 显然简单分块,根据询问需要发现要 ...

  4. SpringCloud 源码学习笔记2——Feign声明式http客户端源码分析

    系列文章目录和关于我 一丶Feign是什么 Feign是一种声明式. 模板化的HTTP客户端.在Spring Cloud中使用Feign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一一样的 ...

  5. Mybatis连接数据库

    从零开始Mybatis连接数据库 创建Maven文件 File-->new-->project-->maven,点击next 配置 在出现的pom.xml文件中<project ...

  6. node.js 历史版本下载

    https://nodejs.org/zh-cn/download/releases/

  7. pat 乙级1024 科学计数法关于stl中size()的一些思考即测试点六,无符号整数问题

    来,先看题目:1024 科学计数法 分数 20 作者 HOU, Qiming 单位 浙江大学 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9 ...

  8. 问题集锦 ~ javascript

    #使用PHP输出json数据给js变量 SyntaxError: unexpected token: identifier const data = <?php echo json_encode ...

  9. Stanford NLP 在Python环境中安装、介绍及使用

    Stanford NLP Stanford NLP提供了一系列自然语言分析工具.它能够给出基本的词形,词性,不管是公司名还是人名等,格式化的日期,时间,量词,并且能够标记句子的结构,语法形式和字词依赖 ...

  10. ASP.NET Core http请求内容过大, IIS服务器 返回 Request Too Long 解决方案

    1.修改web.config文件内容如下: <?xml version="1.0" encoding="utf-8"?> <configura ...