背景:
- 公司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