一、背景
很多剛?cè)胄谢驈钠渌袠I(yè)轉(zhuǎn)行做測(cè)試的同學(xué),日復(fù)一日每天做點(diǎn)工已經(jīng)點(diǎn)得疲憊和麻木,覺得做測(cè)試和在廠子里打螺絲沒太大區(qū)別。也想著做一做自動(dòng)化測(cè)試,奈何自己看著代碼就頭痛,當(dāng)初就是因?yàn)椴幌矚g編程才選擇的做測(cè)試。亦或者由于從其他行業(yè)轉(zhuǎn)行過來的,隔行如隔山,編程太痛苦。
那么今天就給大家介紹一款無需編程知識(shí)也可以輕松編寫自動(dòng)化測(cè)試腳本的工具:Airtest,帶各位早日脫離苦海!喜歡的寶子們不要忘了隨手關(guān)注、點(diǎn)贊!
二、什么是Airtest
Airtest是一個(gè)跨平臺(tái)的、 基于圖像識(shí)別的UI自動(dòng)化測(cè)試框架,適用于游戲和App,支持平臺(tái)有Windows、Mac、Android和iOS。
官網(wǎng)地址:http://airtest.netease.com/
官方文檔:https://airtest.doc.io.netease.com/
除了Airtest圖像識(shí)別框架之外,還支持Poco框架,Poco 是一款 基于UI控件識(shí)別 的自動(dòng)化測(cè)試框架,也就是常規(guī)的通過元素定位識(shí)別來完成自動(dòng)化。目前支持Android原生、iOS原生、Unity3D、cocos2dx、UE4和Egret等平臺(tái),也可以在其他引擎中自行接入poco-sdk來使用。
雖然提供了這樣的能力,但元素定位方式存在的兩個(gè)通用缺點(diǎn):元素位置識(shí)別&維護(hù)成本高、代碼編寫效率不高。而如果確實(shí)需要使用UI控件識(shí)別方案來做自動(dòng)化的話,web端有Selenium,移動(dòng)端有Appium,PC桌面端有Pywinauto, 都足夠強(qiáng)大且網(wǎng)上各類文檔更加豐富,更適合針對(duì)性的學(xué)習(xí)和使用。
因此本文的主角還是Airtest,學(xué)習(xí)成本低,上手編寫腳本快,入門使用無需編程代碼知識(shí),即可快速完成大量測(cè)試腳本編寫。此外當(dāng)常規(guī)UI自動(dòng)化無法或者很難識(shí)別定位元素時(shí),也可利用Airtest圖像識(shí)別的特性,來解決自動(dòng)化測(cè)試難題。
最后Airtest基于Python,寫出來的所有腳本都是Python代碼,除了入門級(jí)使用之外,也可以進(jìn)一步使用python做擴(kuò)展和二次開發(fā),對(duì)測(cè)試開發(fā)同學(xué)非常友好。
三、Airtest下載安裝
進(jìn)入官網(wǎng),Windows 64位系統(tǒng)直接點(diǎn)擊下載按鈕下載WINDOWS(64BIT)版本即可:
?如果是Mac,可以點(diǎn)擊“其他平臺(tái)版本”,下載Mac版本:
下載后純綠色版,無需安裝,直接解壓文件,在解壓的文件夾中找到AirtestIDE.exe, 運(yùn)行即可:
?注冊(cè)登錄賬號(hào)那一步可以點(diǎn)擊“Skip”跳過,不登錄同樣可以正常使用。進(jìn)入后頁面如下:
四、Airtest入門使用教程
4.1 連接設(shè)備:
1、我們以自動(dòng)化測(cè)試QQ音樂為例,先啟動(dòng)QQ音樂。然后回到Airtest IDE,新建點(diǎn)擊“窗口”菜單,勾選上“Devices”, 點(diǎn)擊“Windows窗口連接”的連接桌面圖標(biāo),如下圖:
?2、連接成功后,會(huì)發(fā)現(xiàn)左側(cè)“Airtest輔助窗”下方的按鈕都變?yōu)榱丝牲c(diǎn)擊狀態(tài)。鼠標(biāo)懸停在對(duì)應(yīng)的按鈕上,會(huì)顯示按鈕的參數(shù)使用說明,如下圖:
?3、然后點(diǎn)擊菜單欄的“+”號(hào),新建“.air Airtest項(xiàng)目”,輸入項(xiàng)目名稱,IDE會(huì)自動(dòng)導(dǎo)包初始化腳本,如下圖:
?4、這個(gè)時(shí)候切換到QQ音樂窗口,然后縮小Airtest IDE窗口的大小,目的是讓你可以使用“Airtest”輔助窗下面的各個(gè)功能按鈕截取到QQ音樂上對(duì)應(yīng)操作的圖片:
?5、接下來就非常簡(jiǎn)單了,使用“Airtest”輔助窗下面的各個(gè)功能即可快速實(shí)現(xiàn)你要測(cè)試的場(chǎng)景。Airtest常用按鈕說明:
touch:點(diǎn)擊操作 text: 輸入文本操作 sleep:睡眠操作,單位是秒 exists: 是否存在,返回true or false,用于編寫邏輯判斷代碼時(shí)使用 assert_exists: 斷言是否存在,用于測(cè)試斷言使用 snapshot:截屏并保存為文件
4.2 具體測(cè)試場(chǎng)景案例:
比如測(cè)試需求是:搜索指定歌曲:孤勇者,并選擇陳奕迅版本,進(jìn)行播放。我們先來看一下最終用airtest實(shí)現(xiàn)的效果:
airtest自動(dòng)化測(cè)試示例
下面我們來看詳細(xì)實(shí)現(xiàn)步驟:
1、第一步是:點(diǎn)擊搜索框。在Airtest IDE中點(diǎn)擊touch按鈕,框選上QQ音樂搜索框圖片,選完圖片后可以看到IDE中腳本已經(jīng)生成:
?2、第二步:輸入歌曲名字“孤勇者”并執(zhí)行搜索操作。這一步直接點(diǎn)擊Airtest IDE中“text”按鈕,在彈窗中輸入文字“孤勇者”,腳本就生成了:
輸完文字后,點(diǎn)擊搜索圖標(biāo)執(zhí)行搜索操作:
?3、第三步:點(diǎn)擊陳奕迅版本的孤勇者,進(jìn)行播放。touch框選上圖片:
但是touch只是鼠標(biāo)單擊,如何實(shí)現(xiàn)雙擊效果呢?鼠標(biāo)移動(dòng)touch上,可以看到它有times函數(shù),默認(rèn)是點(diǎn)擊1次,我們將times設(shè)置為2:
?實(shí)際效果是并沒有觸發(fā)雙擊效果,因此一種解決方案是:?jiǎn)螕粢淮魏髸?huì)出現(xiàn)播放按鈕,我們?cè)冱c(diǎn)擊一次播放按鈕。
另一種解決方案是:使用另外一個(gè)函數(shù)double_click,則會(huì)觸發(fā)雙擊效果:
注意:由于搜索出來有很多版本的“孤勇者”歌曲,因此有很多其他版本的“孤勇者”歌曲圖片和我們截取的圖片相似。而airtest圖片識(shí)別默認(rèn)的閾值是0.7,即70%匹配就認(rèn)為匹配上了。
因此如果出現(xiàn)偶爾會(huì)點(diǎn)擊到其他版本的“孤勇者”歌曲的情況,可以在Airtest IDE中雙擊該圖片,設(shè)置該圖片的識(shí)別匹配閾值為0.9,提高為90%匹配才算匹配上,就可以解決這個(gè)問題:
五、總結(jié)
至此,腳本就編寫完成了??偨Y(jié)一下測(cè)試步驟:
1、點(diǎn)擊QQ音樂搜索框
2、輸入歌曲名稱:孤勇者
3、點(diǎn)擊搜索按鈕
4、雙擊陳奕迅版本的孤勇者播放音樂
對(duì)應(yīng)Airtest腳本如下:
?結(jié)論:所見即所得,只需要按照你的測(cè)試步驟,鼠標(biāo)框選對(duì)應(yīng)的圖片去錄制一遍,即可實(shí)現(xiàn)自動(dòng)化測(cè)試效果。整個(gè)過程很好理解,也不需要有什么編程知識(shí),媽媽再也不用擔(dān)心我不會(huì)編程,就無法做自動(dòng)化測(cè)試了。趕緊去試試吧!
當(dāng)然,實(shí)際工作中的自動(dòng)化測(cè)試場(chǎng)景,有的會(huì)比上面的這個(gè)場(chǎng)景復(fù)雜得多,那么作為一款優(yōu)秀的自動(dòng)化測(cè)試軟件,自然也是要具備應(yīng)對(duì)更復(fù)雜場(chǎng)景的能力。本文只是作為入門篇,讓沒有用過的同學(xué)先入門
最后如果你想學(xué)習(xí)軟件測(cè)試和需要軟件測(cè)試資料,歡迎加入筆者的交流群:320231853,里面可以免費(fèi)領(lǐng)取軟件測(cè)試+自動(dòng)化測(cè)試資料+軟件測(cè)試面試寶典+簡(jiǎn)歷模版+實(shí)戰(zhàn)項(xiàng)目+面試刷題工具和大佬答疑解惑,我們一起交流一起學(xué)習(xí)!
搜索文章來源:http://www.zghlxwxcb.cn/news/detail-746912.html
復(fù)制文章來源地址http://www.zghlxwxcb.cn/news/detail-746912.html
到了這里,關(guān)于不用編程超簡(jiǎn)單的自動(dòng)化測(cè)試工具:Airtest入門篇教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!