airtest自動化測試工具快速入門

資源

由於博客不允許放外鏈(不理解爲什麼這樣,越做越封閉),所以沒法直接寫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的差不多

運行結束後,點擊報告按鈕,查看報告




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