1. 前言
很多同學想知道如何實現多設備“並行”運行Airtest測試,然后生成聚合的測試報告。今天我們就介紹下在我們開源項目里提供的1個多設備並行的示例demo:multi-device-runner 。
2. multi-device-runner的介紹和運行效果
我們可以在這個地址下clone或者下載multi-device-runner的代碼樣例:https://github.com/AirtestProject/multi-device-runner :
按照給出的使用步驟,我們先來體驗下這個demo的運行效果:
1)使用adb連接多台設備
以mumu模擬器和雷電模擬器為例,我們在終端使用 adb connect
命令分別連接上這2個模擬器:
同理再連接上雷電模擬器,之后我們可以用 adb devices
命令查看已經連好的2台設備:
2)安裝 python3 環境以及 airtest pip install airtest
因這個demo里面的 .air
腳本只涉及了airtest語句,所以提示我們安裝airtest庫,如果我們需要運行的 .air
腳本里面還包含poco語句,我們還要把pocoui庫安裝上。
關於如何部署本地python環境,我們在官方教程文檔有詳細的描述:https://airtest.doc.io.netease.com/IDEdocs/3.4run_script/0_run_script/#1python 。
大致過程是,先在本地准備1個python3環境,目前我們最高兼容到3.9,不兼容3.10。
然后在這個python環境里,安裝上我們腳本需要用到的自動化測試相關的庫:
# 安裝airtest框架
pip install airtest
# 安裝poco框架
pip install pocoui
如果安裝過程出現超時的報錯,可以更換國內源來解決:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airtest
3)clone 或者下載樣例,打開項目目錄,運行代碼 python run.py
在這個地址上:https://github.com/AirtestProject/multi-device-runner ,clone或者下載代碼的壓縮包之后。
我們可以解壓,打開項目目錄,用pycharm編輯器打開 run.py
,並且設置pycharm當前項目的解釋器為剛才准備好的python環境。(當然直接在命令行使用 python run.py
運行也可以)
運行效果如下:
可以看到,運行結束之后,這個demo會自動幫我們生成聚合的測試報告,方便我們查看多機的運行概況,也可以非常方便地查看單一設備的詳細運行報告:
4)多設備並行測試示意圖
從 run.py
的腳本我們可以看到,它實現是的獲取adb連接上的所有設備,然后在每一台設備上跑給定的測試用例,跑完之后生成單機的測試報告,最后再匯總這些單機測試報告的結果,形成匯總(聚合)報告:
3. 添加自己的腳本實現多設備並行運行
如果同學們想要在這個demo上跑自己的測試用例,也非常簡單,直接修改 run.py
腳本最后的初始化數據,即可指定運行的測試用例:
不過需要注意的是,如果指定的測試用例包含poco語句,則我們還要修改 run.py
里面生成測試報告的部分,添加poco的報告插件:
不添加poco報告插件的話,poco語句在airtest報告的顯示會出現一些異常。
4. 多機並行demo的其它問題
1)只能跑1個腳本嗎?
是的,這個demo一次只能跑1個腳本。如果想要跑多個腳本,需要同學們自行修改代碼實現。
2)只適用於安卓設備嗎?
是的,這個demo僅適用於安卓設備的多機並行,不適合iOS的多機並行,如需要實現iOS的多機並行,也需要同學們自行編寫腳本實現。
3)其它多機教程
更多多機教程可以參考我們的往期推文:
Airtest官網:https://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b
官方答疑 Q 群:117973773
呀,這么認真都看到這里啦,幫忙點個推薦支持一下唄,灰常感謝~