一開始知道Airtest大概是在年初的時候,當時,看了一下官方的文檔,大概是相似Sikuli的一個工具,主要用來作遊戲自動化的,經過截圖的方式用來解決遊戲自動化測試的難題。最近,移動端測試的同事嘗試用它的poco庫來作自動化,看樣子還不錯,因此,這裏推薦給各位同窗。python
官方網站
http://airtest.netease.com/android
這是Airtest測試工具標配的IDE,目的是方便咱們用於錄製/編寫自動化測試。git
你可使用帳號登陸或直接點擊左下角「skip」按鈕跳過。shell
啓動Android模擬器或者用PC鏈接一臺手機。經過adb命令檢查移動設備。設計模式
> adb devices List of devices attached emulator-5554 device
當我在Android模擬器中操做時,Airtest IDE右側的界面是同步的,這一點比不少移動測試工具作的優秀,例如,appium desktop必須手動刷新才能獲取最新的界面。app
Airtest IDE支持Airtest腳本的錄製,用法很是簡單,你甚至能夠先不用看它的API,經過錄制來熟悉它的API。框架
右側Airtest窗口以及API,點擊右上角錄製按鈕,而後,就能夠在映射的Android模擬器界面上點點點了。編輯器
如下是我點點點,生成的腳本。ide
過程很是簡單,點擊桌面上的計算器圖標,打開編輯器輸入1+1= ,而後,點擊工具欄上的 「運行」按鈕,就能夠回放了。工具
這種腳本更適合遊戲,由於遊戲界面很難定位,圖片識別(截圖)的方式確實是不錯的選擇。
Poco是另一種形式的腳本,它與通常的自動化工具同樣,經過元素自己的屬性來定位元素,而且它一樣支持錄製。
點擊右上角第一個的錄製按鈕。而後,繼續在android映射的界面上點點點。
由於腳本里面沒截圖,我就單獨拿出來了。
__author__ = "fnngj" from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) poco("計算器").click() poco("com.android.calculator2:id/digit_1").click() poco("com.android.calculator2:id/op_add").click() poco("com.android.calculator2:id/digit_1").click() poco("com.android.calculator2:id/eq").click()
從poco的API來看比appium更爲簡潔。
若是你要作的是非遊戲的APP的話,poco應該是咱們後面學習的重點。這樣的代碼無論是和單元測試框架結合仍是使用PO設計模式都是沒有問題的。
並且,一樣提供元素的屬性展現,又有錄製功能加持,在開發效率上應該會提升很多。
若是,你恰好又會Python,那麼這將是一個不錯的選擇。