一文掌握airtest自動化測試工具

之前寫過一篇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自動化測試工具


相較於以上工具來說,Airtest有以下優點和缺點:


一文掌握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窗口會自動識別出真機設備。


一文掌握airtest自動化測試工具



連接模擬器時,可以在遠程設備連接選項中連接模擬器的設備連接代碼,也可以通過adb連接完成之後識別。

注意:需要勾選Use javacap選項可參考官方文檔:

http://airtest.netease.com/docs/cn/2_device_connection/3_emulator_connection.html


四、簡單使用

按照官方文檔進行即可。主要用到的功能是錄製、touch、sleep、assert_exists等功能。


一文掌握airtest自動化測試工具


一文掌握airtest自動化測試工具



五、小程序自動化環境配置


一文掌握airtest自動化測試工具


一般輸入debugx5.qq.com 可打開調試功能。但如果出現下面的問題:

一文掌握airtest自動化測試工具


則需要進行輸入命令

debugmm.qq.com/?forcex5=true

點擊後效果如下:

一文掌握airtest自動化測試工具


debugtbs.qq.com

點擊後效果如下: 注意 “內核未被禁用”的選項是打開狀態


一文掌握airtest自動化測試工具



最後可以點擊 debugx5.qq.com


一文掌握airtest自動化測試工具


勾選會讓你重啓微信

總結:

如果突然發現無法識別小程序中的元素,把上面的命令重來一遍:

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同時運行生成聚合報告

不同設備運行同一腳本


一文掌握airtest自動化測試工具


AllReportStartCMD.py文件既是通過python執行cmd命令


一文掌握airtest自動化測試工具


運行該文件 AllReportStartCMD.py後,得到報告:


一文掌握airtest自動化測試工具


至於怎麼與jenkins集成,就很簡單了,把這個AllReportStartCMD.py文件寫到jenkins任務裏即可


一文掌握airtest自動化測試工具


之後進行構建就可以看到結果啦


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