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

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM