您好,登錄后才能下訂單哦!
之前寫過一篇airtest的文章,鏈接在這里https://blog.51cto.com/xqtesting/2420165
這次是學員的原創文章也是關于airtest的,獻給大家,本文最終版權歸學員斌宇所有
一、Airtest的簡介
對于測試人員而言。小程序測試一定要在上線后關注并驗證。小編所在項目現已完成手APP/微信小程序渠道的UI自動化測試和監控的建設。以下說明如何使用airtest實現小程序的渠道監控。
說明:
Airtest是網易出品的一款基于圖像識別和poco控件識別的一款UI自動化測試工具。Airtest的框架是網易團隊自己開發的一個圖像識別框架,計算機用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式,用截出來的圖形擺列組合成神器的程序,這是Airtest的一部分。小編就是基于它做了二次開發實現的自動化測試和監控告警的功能。
git地址:
https://github.com/AirtestProject/Airtest
二、關于自動化測試
意義:節省人力、物力、時間、硬件資源等,提升測試效率,特別對于繁瑣重復的測試用例,可以使測試人員更專注于新的測試模塊的建立和開發,從而提高測試覆蓋率。
市面上常見的UI自動化測試工具以及優缺點:
相較于以上工具來說,Airtest有以下優點和缺點:
三、環境的搭建
AirtestIDE已經幫你集成了所有的環境,自帶錄制腳本欄,自動生成腳本,自帶編輯器還自帶模擬器,有了一個AirtestIDE就可以輕松簡單的錄制腳本了。下載地址是Airtest的官網:
http://airtest.netease.com/
AirtestIDE的使用教程跟文檔也在下面的連接中:
http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html
1、進入官網:http://airtest.netease.com/,下載airtest,解壓,點擊exe啟動即可。
2、連接手機:
http://airtest.netease.com/docs/cn/2_device_connection/1_android_phone_connection.html
http://airtest.netease.com/docs/cn/2_device_connection/2_android_faq.html
不同的手機,可能會略有不同。核心都是要打開手機的開發者模式,打開USB調試。
Airtest通過adb連接你的設備到電腦,再接入Airtest框架以完成錄制和腳本運行。
Airtest框架調用的adb路徑為:{Airtest安裝路徑}airtestcoreandroidstaticadbwindows
在使用AirtestIDE連接設備之前,先通過adb devices命令確認設備已經連接。
當真機能夠成功接入時,在device窗口會自動識別出真機設備。
連接模擬器時,可以在遠程設備連接選項中連接模擬器的設備連接代碼,也可以通過adb連接完成之后識別。
注意:需要勾選Use javacap選項可參考官方文檔:
http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html
四、簡單使用
按照官方文檔進行即可。主要用到的功能是錄制、touch、sleep、assert_exists等功能。
五、小程序自動化環境配置
一般輸入debugx5.qq.com 可打開調試功能。但如果出現下面的問題:
則需要進行輸入命令
debugmm.qq.com/?forcex5=true
點擊后效果如下:
debugtbs.qq.com
點擊后效果如下: 注意 “內核未被禁用”的選項是打開狀態
最后可以點擊 debugx5.qq.com
勾選會讓你重啟微信
總結:
如果突然發現無法識別小程序中的元素,把上面的命令重來一遍:
debugmm.qq.com/?forcex5=true
debugtbs.qq.com
debugx5.qq.com
六、Python運行air腳本
Airtest腳本基于python語言,官方推薦使用python運行腳本
安裝部署python環境
推薦安裝python3.5以上版本,并配置環境
Python必備庫安裝
pip install airtest
pip install pocoui
然后再下載一個Python的編輯器來編輯代碼,個人推薦使用的是pycharm。接下來就是使用官方提供的啟動demo
代碼:
from?airtest.core.api?import?* #?通過ADB連接本地Android設備 connect_device("Android:///") #安裝待測軟件apk,路徑信息。 install("path/to/your/apk") #開始運行appstart_app("com.pingan.certicationApp") #點擊某個圖片,Airtest中基于圖像識別語法,圖片自己提供。 touch(Template("image_of_a_button.png")) #滑動語音,開頭圖片跟結尾圖片 swipe(Template("slide_start.png"),?Template("slide_end.png")) #添加斷言的圖片 assert_exists(Template("success.png")) #點擊Android上的返回鍵 #keyevent("BACK") #點擊Android上的Home鍵返回 #home() #uninstall("package_name_of_your_apk")
七、框架代碼詳解
腳本如下:
實現了多case同時運行生成聚合報告
不同設備運行同一腳本
AllReportStartCMD.py文件既是通過python執行cmd命令
運行該文件 AllReportStartCMD.py后,得到報告:
至于怎么與jenkins集成,就很簡單了,把這個AllReportStartCMD.py文件寫到jenkins任務里即可
之后進行構建就可以看到結果啦
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。