資源
由于部落格不允許放外鍊(不了解為什麼這樣,越做越封閉),是以沒法直接寫URL,大家可以百度搜尋關鍵字“airtest”即可看到官網
以下的内容中有一部分是來自官網的說明
airtest介紹
Airtest是一個跨平台的UI自動化測試架構,适用于遊戲、App。支援Windows、Android、IOS(測試階段會有未知錯誤)平台。
Airtest提供了跨平台的API,包括安裝應用、模拟輸入、斷言等。 基于圖像識别技術定位UI元素,你無需嵌入任何代碼即可進行自動化測試。 測試腳本運作後可以自動生成詳細的HTML測試報告。
Airtest是一個跨平台的、基于圖像識别的UI自動化測試架構,适用于遊戲和App,支援平台有Windows、Android和iOS。
Poco是一款基于UI控件識别的自動化測試架構,目前支援Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程式。(暫時不支援微信小程式了)
AirtestIDE 是一個跨平台的UI自動化測試編輯器,内置了Airtest和Poco的相關插件功能,能夠使用它快速簡單地編寫腳本。
PS:個人使用之後感覺确實強大,但準确性還有待提高,稍複雜的場景錄制完之後仍需要手工改動調試腳本。想要玩的更好還的手寫代碼。。。。。
AirtestIDE
安裝
下載下傳對應的版本,解壓後輕按兩下AirtestIDE.exe即可運作
運作開始需要注冊一個帳号,注冊并驗證完畢之後即可進入ide,如下圖
左側是輔助視窗,說白了就是圖像和元素的識别以及錄制在這裡,中間是腳本區域,右側是裝置區,也就是連結的手機或模拟器
連結Android手機
打開手機>設定>開發者選項>USB調試開關
在AirtestIDE裝置面闆中點選 Refresh ADB 按鈕,檢視連接配接上的裝置
如果沒有顯示出裝置,試試 Restart ADB
點選對應裝置的 Connect 按鈕,進行初始化(如果使用的是模拟器,先選擇use javacap以獲得高清晰度畫面)
如果出現類似如下錯誤:
adb server version (40) doesn't match this client (39); killing... * daemon started successfully *
解決方法:
将android-sdk-windowsplatform-tools下的adb.exe覆寫到airtest/core/android/static/adb/windows下
連接配接iOS手機
參考:http://airtest.netease.com/docs/cn/2_device_connection/4_ios_connection.html
其他使用方法在後續的腳本中會逐漸講解到
airtest腳本
基于圖像識别。這裡特别注意,圖像識别不是萬能的!!! 它是有 成功率 的,假設一個腳本裡有10張圖檔,每張圖檔的識别成功率都能達到95%之高,10張圖檔全部都正确識别的機率也不過60%而已。是以你懂的~~
基本步驟:
app啟動好
點選airtest面闆內的
按鈕之後在去選擇對應app內的元素,可以單步錄制,自動幫你生成代碼
點選airtest面闆內的錄制按鈕
可以實時錄制,并生成腳本。也就是說你在ide右側的裝置面闆內操作app,會自動生成代碼,是不是感覺很爽?但其實從體驗下來看,稍微複雜點的場景生成出來的代碼一般沒法直接使用,需要做一定的修改
來看個錄制出來的代碼(以小米商城APP為例)
簡單來說就是分别點選app圖示啟動,點選搜尋框,輸入空氣淨化器,點選搜尋按鈕。其中的輸入内容需要點選左側airtest面闆內的text元件來輸入
PS:看上面的代碼,其中有一個touch注釋掉了,這裡在選擇元素範圍的時候要特别注意,一定選擇準确度高的,注釋掉的這個就是因為選擇的不太好,元素內的文字會變進而導緻有時候成功有時候失敗。換成上面那個基本是100%成功了
運作腳本并檢視報告
運作就是點選頂部的三角箭頭,你找不到?那就找不到吧,不要問我~運作期間會在下方log區域顯示log,同時右側裝置區域顯示回放
檢視報告就是點選頂部的最後一個按鈕
,出來的結果類似這樣
poco腳本
基于UI識别,說白了就類似webdriver和appium那種樹型結構的。作為airtest腳本的輔助進行。
啟動好app
poco面闆內選擇對應的類型,比如Android,即刻在下方看到ui樹
單步錄制:輕按兩下UI樹中的目标條目,即可插入對應UI節點的poco代碼,但是單步錄制的代碼中的操作代碼(如 ".click()" )需要手動添加
PS:點選 右鍵菜單-'UI path-code'可以生成xpath代碼
自動錄制:點選poco面闆內的錄制按鈕
,随着你的操作會自動生成代碼,要停止就再次點錄制按鈕即可
PS:錄制出來的代碼一般都無法正确運作,需要進行修改才可以
看下錄制出來的代碼,已經經過了一些修改
稍微有點自動化測試基礎的同學應該秒懂~其中對于輸入空氣淨化器那部是錄制完成手工修改的
PS:如果發現無法正确使用,那就是需要事先接入Poco-SDK才行,步驟較為繁瑣,具體見官網,一般讓開發完成
至于運作和報告和之前的一樣,這裡就不多描述了
web自動化測試
本來airtest是為了遊戲測試而誕生的,後來擴充到app和web。體驗下來佩服網易這些大神,個人感覺對于小白來說錄制是個好事情,但腳本維護來說難度不小。個人覺得如果對于python熟悉的話還是直接寫代碼更好一點。其實airtest進階的用法也是自己寫代碼。。。是以。。。你懂的~
airtest-selenium是在selenium webdriver上再次封裝了一層,我們可以使用AirtestIDE進行web自動化腳本錄制、腳本運作和報告生成
錄制
需要本地安裝airtestide和chrome浏覽器
視窗>selenium window,開啟se面闆
設定Chrome本地路徑:“選項”-“設定”-“Selenium”-“設定Chrome路徑”
點選
開啟浏覽器并生成初始化代碼
開啟浏覽器-點選編輯框中彈出的提示,生成初始化代碼
浏覽器中進入待測試的網頁之後點選輔助窗的start_web,生成通路待測試網址的代碼:
driver.get("http://www.xqtesting.com/")
點選錄制
在浏覽器進行操作,這時候會自動生成代碼,類似下面的
再次點選運作腳本按鈕即可回放,和se的差不多