• jenkins+stf+airtest实现移动端自动化测试平台


     

    背景: 

    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

    
    
  • 相关阅读:
    【LeetCode】1. Two Sum
    框架
    表单
    JavaScript写计算器
    导航下拉菜单代码
    注册表代码
    简易表格代码
    HTML (超文本标记语言)
    PHP学习目标
    升级python到最新2.7.13
  • 原文地址:https://www.cnblogs.com/chen-xia/p/14920025.html
Copyright © 2020-2023  润新知