天天看點

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,如下圖

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

左側是輔助視窗,說白了就是圖像和元素的識别以及錄制在這裡,中間是腳本區域,右側是裝置區,也就是連結的手機或模拟器

連結Android手機

打開手機>設定>開發者選項>USB調試開關

在AirtestIDE裝置面闆中點選 Refresh ADB 按鈕,檢視連接配接上的裝置

如果沒有顯示出裝置,試試 Restart ADB

點選對應裝置的 Connect 按鈕,進行初始化(如果使用的是模拟器,先選擇use javacap以獲得高清晰度畫面)

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

如果出現類似如下錯誤:

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面闆內的

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

按鈕之後在去選擇對應app內的元素,可以單步錄制,自動幫你生成代碼

點選airtest面闆內的錄制按鈕

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

可以實時錄制,并生成腳本。也就是說你在ide右側的裝置面闆內操作app,會自動生成代碼,是不是感覺很爽?但其實從體驗下來看,稍微複雜點的場景生成出來的代碼一般沒法直接使用,需要做一定的修改

來看個錄制出來的代碼(以小米商城APP為例)

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

簡單來說就是分别點選app圖示啟動,點選搜尋框,輸入空氣淨化器,點選搜尋按鈕。其中的輸入内容需要點選左側airtest面闆內的text元件來輸入

PS:看上面的代碼,其中有一個touch注釋掉了,這裡在選擇元素範圍的時候要特别注意,一定選擇準确度高的,注釋掉的這個就是因為選擇的不太好,元素內的文字會變進而導緻有時候成功有時候失敗。換成上面那個基本是100%成功了

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

運作腳本并檢視報告

運作就是點選頂部的三角箭頭,你找不到?那就找不到吧,不要問我~運作期間會在下方log區域顯示log,同時右側裝置區域顯示回放

檢視報告就是點選頂部的最後一個按鈕

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

,出來的結果類似這樣

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

poco腳本

基于UI識别,說白了就類似webdriver和appium那種樹型結構的。作為airtest腳本的輔助進行。

啟動好app

poco面闆內選擇對應的類型,比如Android,即刻在下方看到ui樹

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

單步錄制:輕按兩下UI樹中的目标條目,即可插入對應UI節點的poco代碼,但是單步錄制的代碼中的操作代碼(如 ".click()" )需要手動添加

PS:點選 右鍵菜單-'UI path-code'可以生成xpath代碼

自動錄制:點選poco面闆內的錄制按鈕

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

,随着你的操作會自動生成代碼,要停止就再次點錄制按鈕即可

PS:錄制出來的代碼一般都無法正确運作,需要進行修改才可以

看下錄制出來的代碼,已經經過了一些修改

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

稍微有點自動化測試基礎的同學應該秒懂~其中對于輸入空氣淨化器那部是錄制完成手工修改的

PS:如果發現無法正确使用,那就是需要事先接入Poco-SDK才行,步驟較為繁瑣,具體見官網,一般讓開發完成

至于運作和報告和之前的一樣,這裡就不多描述了

web自動化測試

本來airtest是為了遊戲測試而誕生的,後來擴充到app和web。體驗下來佩服網易這些大神,個人感覺對于小白來說錄制是個好事情,但腳本維護來說難度不小。個人覺得如果對于python熟悉的話還是直接寫代碼更好一點。其實airtest進階的用法也是自己寫代碼。。。是以。。。你懂的~

airtest-selenium是在selenium webdriver上再次封裝了一層,我們可以使用AirtestIDE進行web自動化腳本錄制、腳本運作和報告生成

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

錄制

需要本地安裝airtestide和chrome浏覽器

視窗>selenium window,開啟se面闆

設定Chrome本地路徑:“選項”-“設定”-“Selenium”-“設定Chrome路徑”

點選

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

開啟浏覽器并生成初始化代碼

開啟浏覽器-點選編輯框中彈出的提示,生成初始化代碼

浏覽器中進入待測試的網頁之後點選輔助窗的start_web,生成通路待測試網址的代碼:

driver.get("http://www.xqtesting.com/")

點選錄制

在浏覽器進行操作,這時候會自動生成代碼,類似下面的

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

再次點選運作腳本按鈕即可回放,和se的差不多