多設備並行運行Airtest腳本和聚合報告的生成

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

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章