前段時間在博客中見到airtest的介紹,自己並實踐了一番,用起來的確很方便,所以今天就來分享下。
Airtest簡介
Airtest是網易出品的一款基於圖像識別和poco控件識別的一款UI自動化測試工具。Airtest的框架是網易團隊自己開發的一個圖像識別框架,這個框架的祖宗就是一種新穎的圖形腳本語言Sikuli。Sikuli這個框架的原理是這樣的,計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神器的程序,這是Airtest的一部分。另外,Airtest也基於poco這個U控件搜索框架,這個框架也是網易自家的跨平台U測試框架,原理類似於appium,通過控件的名稱,id之類的來定位目標控件,然后調用函數方法,例如click(),swip()之類的方法來對目標控件進行點擊或者是操作。正如他們所說,基於圖形化識別的Airtest Project解決方案,十分有效地降低了自動化測試的門檻,真正使自動化測試帶來測試效率的提升。Google表示Airtest 是安卓游戲最強大、最全面的自動測試方案之一。Airtest用途
Airtest的使用,官方文檔有詳細說明,詳見:
http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html
Airtest下載地址,如下:
http://airtest.netease.com/download.html?download=AirtestIDE_2019-01-15_py3_win64.zip
Airtest API文檔,如下:
https://airtest.readthedocs.io/en/latest/
github上源碼,如下:
https://github.com/AirtestProject
將下載下來的壓縮包,解壓后,即可使用,不需要安裝,前提是要有python環境,python環境就不需要多余介紹了。
Airtest Web自動化測試
AirTest Web自動化測試基於Selenium和python語言,通過調用Chrome瀏覽器Devtools Protocol協議,將用戶操作解析成python腳本。
Selenium工作原理示意
Airtest 目前集成了chrome瀏覽器基於selenium進行web自動化測試,通過錄制得到的python腳本,調用chromedriver驅動瀏覽器執行指定動作。
設置Chrome啟動路徑
基於上述原理,在使用Airtest進行Chrome自動化測試腳本錄制與執行前,需要指定chrome瀏覽器啟動路徑,並使Airtest內置的chromedriver與瀏覽器版本配套。
Airtest的最新版自帶較新的穩定版本chromedriver.exe(目前為2.37版本),需要匹配對應的chrome瀏覽器。
通過Airtest設置菜單,在selenium選項中,設置chrome瀏覽器的安裝路徑。
如果出現報錯,可能是瀏覽器驅動版本不一致導致的,需要更換成對應的版本驅動即可,驅動地址如下: