一種新的自動化 UI 測試解決方案 Airtest Project

今天分享一個自動化UI測試工具airtest——一款網易出品的基於圖像識別面向遊UI測試的工具,也支持原生Android App基於元素識別的UI自動化測試。主要包含了三部分:Airtest IDE、Airtest(用截圖寫腳本)和 Poco(用界面UI元素來寫腳本)。

來自Google的評價:

Airtest 是安卓遊戲開發最強大、最全面的自動測試方案之一。
它具備以下幾個優勢:
1.如果你是個小白,不想進行深度開發只想用作UI自動化測試,那麼你完全可以用AirtestIDE這款IDE通過操作鼠標來生成並錄製腳本,一鍵回放
2.支持在 Windows 和 macOS 上運行。基於圖像識別的 Airtest 框架,適用於 Android 和 Windows 上的遊戲,此外也支持Android native apps、Windows applications、iOS Support、Selenium Plugin
3.自動生成詳細的HTML測試報告,附帶了每個操作步驟的截圖,方便迅速定位失敗的測試點
4.提供了一種快速進行兼容性測試的方案,利用手機集羣進行大規模自動化測試。
5.支持圖像識別,可將圖片元素作爲參數進行校驗操作
6.支持二次開發,只需要下載airtest的python第三方依賴庫
多說無益,我們開始嘗試使用Airtest進行Android APP測試
環境準備
1.最好使用python2.7以上,建議使用虛擬Pythonvirtualenv環境部署,隔離環境
如果想要利用Airtest的API拓展更多的高級功能,請安裝如下庫
Airtest

airtest
Poco

poco
2.如果測試Android app,需要準備adb環境,其依靠依靠ADB與Android設備進行通信
3.下載airtestIDE. 請在官網下載合適你的IDE版本:http://airtest.netease.com/changelog.html
開始使用
1.設備連接
1.1一切準備妥當後,開始打開AirtestIDE進行使用,圖中所示分別是連接Android、Windows application、ios

AirtestIDE
1.2我們正常連接我們的手機,打開USB調試,點擊connect連接即可。如果連接失敗,可刷新ADB或重啓ADB。連接過程中會向手機安裝RotationWatcher、PocoService等組件,同意安裝即可。如果連接不正常,請查看是否是不支持該手機http://airtest.netease.com/

AirtestIDE
1.3連接成功後,畫面展示如下,可以看出手機畫面是實時投影在IDE上的,能在左邊實時查看UI渲染樹層級,獲取各類控件元素的屬性

AirtestIDE
2.基於圖像識別的腳本
2.1首先來看一看官方提供的啓動demo

AirtestIDE
掌握以上操作,已經可以完成大部分的自動化測試任務了。實際編寫中你甚至不用動手寫腳本,你只需要鼠標操作錄製腳本即可,所有的東西都已經封裝好了,可以直接截圖作爲參數,非常的方便、簡單
2.2來看一個實際例子

AirtestIDE
用例可以使用touch等語句來手動編寫,也可以在AirtestIDE中通過點擊輔助窗中的各類語句按鈕,然後框選按鈕來生成語句。
一些常用語句:
assert_exists:斷言圖片存在於當前畫面上,驗證運行結果是否正確,專屬的斷言語句
assert_not_exists:斷言圖片不存在,驗證運行結果是否正確,專屬的斷言語句
touch:當前畫面中尋找符合圖片內容的座標並點擊,沒有找到相符的圖片則拋出一個異常
swipe:可以從一個位置滑動到另外一個位置
wait:等待畫面中某個圖片出現
exists:判斷畫面中是否存在某個圖片
text:調用輸入法,輸入一段文字
sleep: 等待一段時間,確保上一步的操作已經完成
snapshot:當前畫面截圖
如果你想了解這種基於圖像識別的原理或者是進行更多複雜操作,可以去官方查看airtest.core.api,官方提供了詳細的說明文檔,篇幅有限不做更多說明
3.基於控件識別的poco腳本
3.1直接看一個例子吧

AirtestIDE
poco的初始化應該放在遊戲啓動以後再進行,如果是測試遊戲,因爲poco需要與遊戲中的poco-sdk進行通信,需要等待遊戲將poco-sdk初始化完成,才能初始化poco
4.測試報告
airtest提供了很詳細的的測試報告,爲每一個用例的操作步驟都做了截圖(sleep不截圖),方便我們定位失敗的測試點

AirtestIDE
好了,Airtest的分享簡單介紹到這裏,更多的內容請到官方http://airtest.netease.com/學習

跟大家推薦一個學習資料分享羣:747981058,裏面大牛已經爲我們整理好了許多的學習資料,有自動化,接口,性能等等的學習資料!人生是一個逆水行舟的過程,不進則退,咱們一起加油吧!

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