一文掌握airtest自動(dòng)化測(cè)試工具

點(diǎn)擊鏈接加入QQ群229390571(全國(guó)招聘信息哄陶、免費(fèi)公開課残黑、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5rbudQa 更多內(nèi)容可以關(guān)注公眾號(hào):測(cè)試幫日記

之前寫過一篇airtest的文章,鏈接在這里airtest自動(dòng)化測(cè)試工具快速入門

這次是學(xué)員的原創(chuàng)文章也是關(guān)于airtest的玩裙,獻(xiàn)給大家姊舵,本文最終版權(quán)歸學(xué)員斌宇所有

一、Airtest的簡(jiǎn)介

對(duì)于測(cè)試人員而言寞奸。小程序測(cè)試一定要在上線后關(guān)注并驗(yàn)證呛谜。小編所在項(xiàng)目現(xiàn)已完成手APP/微信小程序渠道的UI自動(dòng)化測(cè)試和監(jiān)控的建設(shè)。以下說明如何使用airtest實(shí)現(xiàn)小程序的渠道監(jiān)控颂砸。

說明:

Airtest是網(wǎng)易出品的一款基于圖像識(shí)別和poco控件識(shí)別的一款UI自動(dòng)化測(cè)試工具蠢壹。Airtest的框架是網(wǎng)易團(tuán)隊(duì)自己開發(fā)的一個(gè)圖像識(shí)別框架牵舱,計(jì)算機(jī)用戶不需要一行行的去寫代碼,而是用屏幕截屏的方式聚凹,用截出來的圖形擺列組合成神器的程序割坠,這是Airtest的一部分。小編就是基于它做了二次開發(fā)實(shí)現(xiàn)的自動(dòng)化測(cè)試和監(jiān)控告警的功能妒牙。

git地址:

https://github.com/AirtestProject/Airtest

二彼哼、關(guān)于自動(dòng)化測(cè)試

意義:節(jié)省人力、物力单旁、時(shí)間沪羔、硬件資源等,提升測(cè)試效率象浑,特別對(duì)于繁瑣重復(fù)的測(cè)試用例蔫饰,可以使測(cè)試人員更專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率愉豺。

市面上常見的UI自動(dòng)化測(cè)試工具以及優(yōu)缺點(diǎn):

相較于以上工具來說篓吁,Airtest有以下優(yōu)點(diǎn)和缺點(diǎn):

三、環(huán)境的搭建

AirtestIDE已經(jīng)幫你集成了所有的環(huán)境蚪拦,自帶錄制腳本欄杖剪,自動(dòng)生成腳本,自帶編輯器還自帶模擬器驰贷,有了一個(gè)AirtestIDE就可以輕松簡(jiǎn)單的錄制腳本了盛嘿。下載地址是Airtest的官網(wǎng):

http://airtest.netease.com/

AirtestIDE的使用教程跟文檔也在下面的連接中:

http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html

1、進(jìn)入官網(wǎng):http://airtest.netease.com/括袒,下載airtest次兆,解壓,點(diǎn)擊exe啟動(dòng)即可锹锰。

2芥炭、連接手機(jī):

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

不同的手機(jī),可能會(huì)略有不同恃慧。核心都是要打開手機(jī)的開發(fā)者模式园蝠,打開USB調(diào)試。

Airtest通過adb連接你的設(shè)備到電腦痢士,再接入Airtest框架以完成錄制和腳本運(yùn)行彪薛。

Airtest框架調(diào)用的adb路徑為:{Airtest安裝路徑}\airtest\core\android\static\adb\windows

在使用AirtestIDE連接設(shè)備之前,先通過adb devices命令確認(rèn)設(shè)備已經(jīng)連接良瞧。

當(dāng)真機(jī)能夠成功接入時(shí)陪汽,在device窗口會(huì)自動(dòng)識(shí)別出真機(jī)設(shè)備。

連接模擬器時(shí)褥蚯,可以在遠(yuǎn)程設(shè)備連接選項(xiàng)中連接模擬器的設(shè)備連接代碼挚冤,也可以通過adb連接完成之后識(shí)別。

注意:需要勾選Use javacap選項(xiàng)可參考官方文檔:

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

四赞庶、簡(jiǎn)單使用

按照官方文檔進(jìn)行即可训挡。主要用到的功能是錄制澳骤、touch、sleep澜薄、assert_exists等功能为肮。

五、小程序自動(dòng)化環(huán)境配置

一般輸入debugx5.qq.com 可打開調(diào)試功能肤京。但如果出現(xiàn)下面的問題:

則需要進(jìn)行輸入命令

debugmm.qq.com/?forcex5=true

點(diǎn)擊后效果如下:

debugtbs.qq.com

點(diǎn)擊后效果如下: 注意 “內(nèi)核未被禁用”的選項(xiàng)是打開狀態(tài)

最后可以點(diǎn)擊 debugx5.qq.com

勾選會(huì)讓你重啟微信

總結(jié):

如果突然發(fā)現(xiàn)無法識(shí)別小程序中的元素颊艳,把上面的命令重來一遍:

debugmm.qq.com/?forcex5=true

debugtbs.qq.com

debugx5.qq.com

六、Python運(yùn)行air腳本

Airtest腳本基于python語言忘分,官方推薦使用python運(yùn)行腳本

安裝部署python環(huán)境

推薦安裝python3.5以上版本棋枕,并配置環(huán)境

Python必備庫安裝

pip install airtest

pip install pocoui

然后再下載一個(gè)Python的編輯器來編輯代碼,個(gè)人推薦使用的是pycharm妒峦。接下來就是使用官方提供的啟動(dòng)demo

代碼:

from airtest.core.api import *

# 通過ADB連接本地Android設(shè)備

connect_device("Android:///")

#安裝待測(cè)軟件apk重斑,路徑信息。

install("path/to/your/apk")

#開始運(yùn)行appstart_app("com.pingan.certicationApp")

#點(diǎn)擊某個(gè)圖片肯骇,Airtest中基于圖像識(shí)別語法窥浪,圖片自己提供。

touch(Template("image_of_a_button.png"))

#滑動(dòng)語音笛丙,開頭圖片跟結(jié)尾圖片

swipe(Template("slide_start.png"), Template("slide_end.png"))

#添加斷言的圖片

assert_exists(Template("success.png"))

#點(diǎn)擊Android上的返回鍵

#keyevent("BACK")

#點(diǎn)擊Android上的Home鍵返回

#home()

#uninstall("package_name_of_your_apk")

七漾脂、框架代碼詳解

腳本如下:

實(shí)現(xiàn)了多case同時(shí)運(yùn)行生成聚合報(bào)告

不同設(shè)備運(yùn)行同一腳本

AllReportStartCMD.py文件既是通過python執(zhí)行cmd命令

運(yùn)行該文件 AllReportStartCMD.py后,得到報(bào)告:

至于怎么與jenkins集成胚鸯,就很簡(jiǎn)單了符相,把這個(gè)AllReportStartCMD.py文件寫到j(luò)enkins任務(wù)里即可

之后進(jìn)行構(gòu)建就可以看到結(jié)果啦

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蠢琳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镜豹,老刑警劉巖傲须,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異趟脂,居然都是意外死亡泰讽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門昔期,熙熙樓的掌柜王于貴愁眉苦臉地迎上來已卸,“玉大人,你說我怎么就攤上這事硼一±墼瑁” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵般贼,是天一觀的道長(zhǎng)愧哟。 經(jīng)常有香客問我奥吩,道長(zhǎng),這世上最難降的妖魔是什么蕊梧? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任霞赫,我火速辦了婚禮,結(jié)果婚禮上肥矢,老公的妹妹穿的比我還像新娘端衰。我一直安慰自己,他們只是感情好甘改,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布旅东。 她就那樣靜靜地躺著,像睡著了一般楼誓。 火紅的嫁衣襯著肌膚如雪玉锌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天疟羹,我揣著相機(jī)與錄音主守,去河邊找鬼。 笑死榄融,一個(gè)胖子當(dāng)著我的面吹牛参淫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播愧杯,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涎才,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了力九?” 一聲冷哼從身側(cè)響起耍铜,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎跌前,沒想到半個(gè)月后棕兼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抵乓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年伴挚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灾炭。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茎芋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜈出,到底是詐尸還是另有隱情田弥,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布铡原,位于F島的核電站皱蹦,受9級(jí)特大地震影響煤杀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沪哺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一沈自、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辜妓,春花似錦枯途、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至孽惰,卻和暖如春晚岭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勋功。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工坦报, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狂鞋。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓片择,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親骚揍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子字管,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容