Airtest自動化工具總結
1、介紹:Airtest Project是網易出品的一款自動化解決方案,它適用於任意游戲引擎和應用的自動化測試,支持Android和Windows。它不需要依賴被測對象的源碼。
Airtest Project提供了一個自動化測試編輯器Airtest IDE,Airtest IDE使用了基於圖像識別的UI自動化測試框架—Airtest來進行控件定位,十分有效降低了自動化門檻,真正使自動化測試帶來測試效率的提升;
它同時集成了POCO框架,POCO框架是基於控件識別的UI自動化框架,支持主流游戲引擎:Cocos2d-x, Unity3d,支持Android原生應用。因此可以選擇是用圖像識別或者基於控件定位的方式來進行控件定位。
2、安裝:只需要下載解壓即可使用。無限制條件,開源軟件,網易團隊開發在谷歌大會2018年3月26號發布。谷歌表示它是目前安卓游戲最強大最全面的一套測試方案,也支持Android、ios、web、Windows桌面應用的測試
3、Airtest能做什么:游戲測試、APP測試、Web測試、Win應用測試
官方下載地址:http://airtest.netease.com/
說明文檔:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html(中英兩種版本都有,建議都看看)
API文檔:http://airtest.readthedocs.io/en/latest/
Github源碼:http://github.com/AirtestProject
4、配置:
(1)、只支持的瀏覽器:chrome,注意Chromedriver對應的的chrome版本
(2)、Chromedriver驅動,自帶2.37版本的,支持大部分64版本以上的chrome瀏覽器(64-67最佳,其他版本可能會有時候報錯)
(3)、可到歷史版本中查看Chromedriver對應的瀏覽器版本,根據自身安裝的chrome版本,找到合適的Chromedriver版本替換自帶的Chromedriver
5、Airtest原理
一般在反復測試的過程中,使用自動化來代替手工測試。
6、Airtest功能介紹
7、(1)實例:騰訊課堂尋找roy老師
(2)、文件上傳操作
(3)、繞過驗證碼操作
(4)、腳本運行方式
(5)命令執行腳本,並生成html測試報告
-----說明:如果是airtestIDE執行,他是自動生成了html報告。
腳本執行准備工作:到airtest安裝文件中復制兩個東西到python35的根目錄下:
1、airtest_selenium
2、chromedriver.exe(airtest默認2.37版本)
打開cmd粘貼如下命令,回車運行腳本:
python -m airtest run D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\test08152042.air --log C:\AirtestIDElog\testlog
或 airtest run D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\test08152042.air
--log C:\AirtestIDElog\testlog2
AirtestIDE運行結果復制,直接cmd粘貼運行,既可以自動運行腳本:
"D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\AirtestIDE" runner "D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\test08152042.air" --log "C:/AirtestIDElog\4e3b699fec7445de54b17edc90b33e73"
生成測試報告:
打開cmd粘貼如下命令,回車,輸出報告:
Airtest report + 腳本文件路徑 + --log_root + 日志保存路徑 + --outfile + 生成命名為xxx.html的報告路徑 + --lang zh --plugins airtest_selenium.report
Airtest report D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\test08152042.air --log_root C:\AirtestIDElog\testlog --outfile C:\AirtestIDElog\testlog\log.html --lang zh --plugins airtest_selenium.report
8、定時執行腳本
9、王者榮耀測試
Ⅰ)、Airtest通過adb完成手機連接到電腦並且操作的過程
Ⅱ)、adb連接真機時:
(1)、需要安裝手機對應的驅動,確保手機可以被電腦識別---即數據線可以成功連接電腦
(2)、打開手機的開發者選項,usb調試模式,打開指針(光標所到處可以看到坐標)
(3)、有些手機連接上時,會彈出RSA密鑰驗證,請點擊允許。
(4)、cmd下:
D:\anzhuangtool\sometool\AirtestIDE_2019-04-16_py3_win64\AirtestIDE_2019-05-09_py3_win64\airtest\core\android\static\adb\windows 目錄中:adb devices驗證手機已經連接到電腦。
--說明:用模擬器連接比較麻煩一點。
(5)、adb連接時,如果出現unauthorized,則需要允許RSA密鑰,如果出現offline,可能需要在電腦的用戶目錄下的Android目錄中,編輯adb_usb.ini文件,添加“0x+硬件設備的ID”
Ⅲ)、airtest連接上設備時,會安裝一個Yosemite的輸入法工具,用於輸入文字。
Ⅳ)、啟動app時,可以通過start_app函數來完成,參數為app的包名。
Ⅴ)、連接模擬器時,需要勾選connect的use javacap和ad
顯示手機界面操作
開始自動化打開王者榮耀,腳本如下,個人並沒有全部完成游戲,想要玩的繼續寫腳本即可: