微信小程序測試_第1頁
微信小程序測試_第2頁
微信小程序測試_第3頁
微信小程序測試_第4頁
微信小程序測試_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

內(nèi)容摘要本文先介紹微信小程序和它在新型冠狀病毒疫情防控期間的一些增長數(shù)據(jù)。然后在對(duì)微信小程序的頁面元素定位的幾種工具和方法進(jìn)行比較,選擇頁面元素定位簡單、快速、便捷的測試腳本開發(fā)工具Airtest,對(duì)“58到家保潔”微信小程序進(jìn)行自動(dòng)化測試腳本的開發(fā)實(shí)踐。通過實(shí)踐肯定了Airtest在快速定位小程序頁面元素方面的優(yōu)勢,同時(shí)也發(fā)現(xiàn)了Airtest存在的一些不足。關(guān)鍵詞:微信小程序Airtest58到家保潔AbstractThispaperfirstintroducesnovelcoronavirusanditsgrowthdataduringtheWeChatcoronavirusoutbreak.Then,inthecomparisonofseveraltoolsandmethodsofWechatMiniProgrampageelementpositioning,wechooseAirtest,whichisasimple,fastandconvenienttestscriptdevelopmenttool,todevelopthe"58homecleaning"WechatMiniProgramautomatictestscript.Throughpractice,theadvantagesofAirtestinquicklylocatingthepageelementsofWechatMiniProgramareconfirmed,andsomeshortcomingsofAirtestarealsofound.Keywords:WechatMiniProgramAirtest"58homecleaning"目錄第一章緒論 11.1研究背景、目的及意義 11.1.1研究背景 11.1.2研究目的及意義 11.2國內(nèi)外發(fā)展現(xiàn)狀 21.2.1國外研究現(xiàn)狀 21.2.2國內(nèi)研究現(xiàn)狀 21.3本文主要內(nèi)容 3第二章相關(guān)工具和概念介紹 42.1工具介紹 42.2微信小程序的架構(gòu) 43.3自動(dòng)化測試 5第三章需求分析 63.1需求背景 63.2測試設(shè)備信息 63.3功能需求 7第四章小程序測試自動(dòng)實(shí)現(xiàn) 84.1測試計(jì)劃 84.2測試用例 84.2.1第一個(gè)大功能點(diǎn)——微信小程序不同入口 84.2.2第二個(gè)大功能點(diǎn)——定位 104.2.3第三個(gè)大功能點(diǎn)——“我的” 114.2.4第四個(gè)大功能點(diǎn)——“訂單” 144.2.5第五個(gè)大功能點(diǎn)——“首頁” 154.2.6初始化 204.3測試詳細(xì)過程 204.3.1測試環(huán)境搭建 204.4.2編寫自動(dòng)化測試腳本 304.3.3自動(dòng)化腳本調(diào)試 314.3.4增加斷言語句 314.4測試結(jié)果報(bào)告和總結(jié) 31第五章總結(jié)與展望 35參考文獻(xiàn) 37致謝 38第一章緒論本章主要介紹了本課題的研究背景、目的及意義以及國內(nèi)外發(fā)展現(xiàn)狀等內(nèi)容。1.1研究背景、目的及意義1.1.1研究背景2019年12月8日,官方通報(bào)的首例不明原因肺炎患者發(fā)?。籟1]截至4月6號(hào)22:00,中國累計(jì)確診人數(shù)83039,現(xiàn)存確診2345,海外累計(jì)確診12006649,現(xiàn)存確診946467。目前新冠肺炎在全球的人數(shù)陡增,中國人用宅在家中、減少外出、停工停產(chǎn)和不聚會(huì)的方式取得了階段性的成功。這其中,不能上班,如何解決工作上溝通協(xié)作的問題;不能上課,初三高三的學(xué)生們的中、考高考怎么辦,學(xué)習(xí)不能耽誤;減少外出,如何買到口罩,如何買到食物,如何獲取官方的信息等等一系列的問題亟須解決。這時(shí)不用安裝的微信小程序開始發(fā)力。2020年2月17日微信發(fā)布《微信戰(zhàn)“疫”數(shù)據(jù)報(bào)告》小程序到家業(yè)務(wù)增長迅猛,安全和無菌成為用戶首選。[2]生活必需品通過微信小程序購買的方式成為很多人的新選擇。到家服務(wù)的小程序獲得迅猛增長,客戶在到家小程序上購買最多的商品有速食、糧油、肉蛋、水果和水果等。本次春節(jié)假期也比以往更長,截至2月14日,小程序超市業(yè)態(tài)訪問量同比增長115%,生鮮果蔬業(yè)態(tài)訪問量同比增長168%,社區(qū)電商業(yè)態(tài)同比增長83%。復(fù)工后,物流行業(yè)小程序訪問量環(huán)比上漲68%。[3]1.1.2研究目的及意義新型冠狀肺炎病毒來勢洶洶,為了遏制新型冠狀病毒的傳播,全國都停工停課延長假期讓人民減少外出,嚴(yán)禁聚會(huì)等群體性活動(dòng)。醫(yī)護(hù)人民在前線抗疫,人們待在家中,為了讓待在家中的人們能買到生活必需品等滿足人們的日常生活需求,各類微信小程序騰空出世,從“穗康”的預(yù)約口罩,“鮮達(dá)送”,再到現(xiàn)在疫情得到控制,湖北省開始解封,各行各業(yè)都開始全面復(fù)工,其中到家家政服務(wù)類型的微信小程序訪問量出現(xiàn)陡增,騰空出世的很多小程序如果按照以往的使用UIAutomatorViewer定位頁面元素的方法來編寫自動(dòng)化測試腳本,費(fèi)事費(fèi)力,而且微信小程序在這個(gè)特殊時(shí)期更新迭代很快,如何讓自動(dòng)化腳本的更新速度跟上開發(fā)速度呢?這篇論文用微信小程序“58到家保潔”作為例子,使用Airtest自動(dòng)化腳本編寫工具,去跟上微信小程序快速迭代的步伐。1.2國內(nèi)外發(fā)展現(xiàn)狀1.2.1國外研究現(xiàn)狀HierarchyViewer定位頁面元素的方法,通過socket鏈接手機(jī)端的viewserver獲取數(shù)據(jù),獲取數(shù)據(jù)后,遍歷每一行數(shù)據(jù),處理每一行數(shù)據(jù),然后存放在viewNode對(duì)象中,每個(gè)view的數(shù)據(jù)都保存在內(nèi)存中。優(yōu)點(diǎn):無版本限制;可獲得動(dòng)態(tài)數(shù)據(jù)。缺點(diǎn):無法獲得package和activity名;設(shè)備需要root;[4]頁面元素屬性多而無用;對(duì)話框坐標(biāo)有缺陷。效率:根據(jù)軟件的實(shí)際測試,獲得一個(gè)界面的所有節(jié)點(diǎn)和圖片所有的時(shí)間和為10s左右。[5]UIAutomatorViewer定位頁面元素的方法,通過adb執(zhí)行shell命令,存放在手機(jī)的/system/bin/uiautomator腳本會(huì)被執(zhí)行,在/data/local/tmp/下生產(chǎn)uidump.xml文件,然后adbpull將xml文件負(fù)債到本地,然后出現(xiàn)讀取xml生成樹形結(jié)構(gòu)。[5]優(yōu)點(diǎn):數(shù)據(jù)的分析過程交給手機(jī)端,減少了PC端的處理過程,客戶端直接讀取xml文件所提供的信息短小精悍;測試設(shè)備無須root;可獲得package包;可直接判斷控件是否可點(diǎn)擊;對(duì)回款的坐標(biāo)獲得正確。[5]缺點(diǎn):api限制,只支持api16以上的版本,android4.2以上版本;無法獲得activity名;無法活動(dòng)動(dòng)態(tài)界面的數(shù)據(jù)。效率:由于讀取xml的數(shù)據(jù)快,所以略有優(yōu)勢,獲得的圖片和控件信息需要4s左右的時(shí)間。[6]1.2.2國內(nèi)研究現(xiàn)狀TBSStudio是面向基于TBS的Web開發(fā)者和移動(dòng)應(yīng)用開發(fā)商(包括微信、手Q,三方App等)打造的開發(fā)服務(wù)整體解決方案,以提升廣大開發(fā)者在真機(jī)環(huán)境下的開發(fā)效率,并幫助開發(fā)者分析和優(yōu)化網(wǎng)頁的設(shè)計(jì),主要功能有網(wǎng)頁Inspector調(diào)試,網(wǎng)頁性能分析等。TBSStudio的前身是TBS下的WebViewInspector網(wǎng)頁調(diào)試工具。[7]Airtest是網(wǎng)易出品的一款基于圖像識(shí)別和poco控件識(shí)別的一款UI自動(dòng)化測試工具。[8]Airtest的框架是網(wǎng)易團(tuán)隊(duì)自己開發(fā)的一個(gè)圖像識(shí)別框架。[8]另外,Airtest也基于poco這個(gè)U控件搜索框架,這個(gè)框架也是網(wǎng)易自家的跨平臺(tái)UI測試框架,原理類似于appium,通過控件的名稱,id之類的來定位目標(biāo)控件,然后調(diào)用函數(shù)方法,例如click(),swip()之類的方法來對(duì)目標(biāo)控件進(jìn)行點(diǎn)擊或者是操作。[9]1.3本文主要內(nèi)容第一章緒論,主要介紹了本課題的研究背景、目的及意義,國內(nèi)外發(fā)展現(xiàn)狀等內(nèi)容。第二章,主要介紹了Airtest工具、微信小程序架構(gòu)、UI測試、自動(dòng)化測試的概念。第三章,主要內(nèi)容為小程序“58到家保潔”的需求背景、產(chǎn)品介紹、測試設(shè)備的信息和本次自動(dòng)化測試的關(guān)鍵點(diǎn)。第四章,主要內(nèi)容是測試計(jì)劃、測試原理的介紹,然后是具體的測試用例和測試詳細(xì)過程,最后是測試結(jié)果報(bào)告和總結(jié)。第五章,總結(jié)并展望Airtest未來。第二章相關(guān)工具和概念介紹本章主要介紹Airtest工具、微信小程序架構(gòu)、自動(dòng)化測試的概念。2.1工具介紹Airtest是網(wǎng)易團(tuán)隊(duì)開發(fā)的圖像識(shí)別框架。Airtest通過屏幕截圖的方式來獲取想要操作的區(qū)域。例如對(duì)一些按鈕進(jìn)行測試時(shí),可以不再寫復(fù)雜的代碼去獲取按鈕的信息,而是直接對(duì)按鈕進(jìn)行截圖,把截圖放在程序中,程序就會(huì)自動(dòng)識(shí)別到截圖中的位置并訪問該按鈕。[10]2.2微信小程序的架構(gòu)小程序主要分為兩個(gè)主要部分:view模塊和service模塊。View模塊負(fù)責(zé)UI展示,它由wxml和wxss轉(zhuǎn)換后的代碼以及微信提供的輔助模塊組成。一個(gè)view模塊對(duì)應(yīng)一個(gè)webview組件,小程序支持多個(gè)view模塊存在,view模塊通過微信jsbridge對(duì)象來跟后臺(tái)通信。微信小程序的架構(gòu)如圖2.5所示:[11]圖2-1微信小程序的架構(gòu)圖3.3自動(dòng)化測試自動(dòng)化測試是把以人為驅(qū)動(dòng)的測試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。通常,在設(shè)計(jì)了測試用例并通過評(píng)審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實(shí)際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時(shí)間或硬件資源,提高測試效率,便引入了自動(dòng)化測試的概念。[12]第三章需求分析本章的主要內(nèi)容為小程序“58到家保潔”的需求背景、產(chǎn)品介紹、測試設(shè)備的信息和本次自動(dòng)化測試的關(guān)鍵點(diǎn)。3.1需求背景現(xiàn)在中國國內(nèi)新冠肺炎疫情已經(jīng)得到控制,各行各也全部都在全面復(fù)工復(fù)產(chǎn),到家家政的服務(wù)行業(yè)也不例外。2020年2月17日微信發(fā)布《微信戰(zhàn)“疫”數(shù)據(jù)報(bào)告》小程序到家業(yè)務(wù)增長迅猛,安全和無菌成為用戶首選。這次自動(dòng)化測試實(shí)戰(zhàn)索性就把“58到家保潔”微信小程序作為自動(dòng)化測試的對(duì)象。為什么選擇“58到家保潔”作為微信小程序自動(dòng)化測試的對(duì)象呢?“58到家保潔”是58同城投資打造的互聯(lián)網(wǎng)生活服務(wù)品牌,為用戶提供專業(yè)、便捷、安心的標(biāo)準(zhǔn)化到家服務(wù)。服務(wù)包括了--日常保潔、全屋大掃除、油煙機(jī)清洗、擦玻璃、冰箱清洗、洗衣機(jī)清洗、空調(diào)清洗、新屋開荒、除螨清潔、皮沙發(fā)保養(yǎng)、地板打蠟等。[12]3.2測試設(shè)備信息(1)電腦端測試設(shè)備基本信息:操作系統(tǒng):Win10支持環(huán)境:Python3.6測試工具:AirtestIDE(2)手機(jī)端測試設(shè)備基本信息:手機(jī)型號(hào):redmiK20PRO;MIUI版本:MIUI11.0.5穩(wěn)定版;Android版本:Android10;微信版本:Version7.0.12測試版。3.3功能需求微信小程序“58到家保潔”的功能可以分為5個(gè)一級(jí)功能點(diǎn):微信小程序不同入口、定位、我的、訂單、首頁。接著將一級(jí)功能點(diǎn)細(xì)分為10個(gè)二級(jí)功能點(diǎn)包括:位置申請、立即登錄、我的優(yōu)惠、我的套餐、我的秒殺、我的地址、聯(lián)系客服、用戶協(xié)議、退出登錄、熱門服務(wù)--日常保潔。最后再具體到67個(gè)具體的場景,共計(jì)314條測試用例。第四章小程序測試自動(dòng)實(shí)現(xiàn)本章先介紹本次的測試計(jì)劃、測試原理,然后是具體的測試用例和測試詳細(xì)過程(包括電腦端和手機(jī)端測試環(huán)境搭建、編寫自動(dòng)化測試腳本、自動(dòng)化測試腳本調(diào)試、增加斷言語句),最后是測試結(jié)果報(bào)告和總結(jié)。4.1測試計(jì)劃本文的測試計(jì)劃是模擬用戶操作,對(duì)微信小程序“58到家保潔”小程序設(shè)計(jì)自動(dòng)化UI巡檢:第一步就是電腦安裝Airtest,Python3;第二步手機(jī)開啟開發(fā)者權(quán)限,USB允許安裝程序、允許點(diǎn)擊、切換輸入法、關(guān)閉安全輸入法;第三步設(shè)計(jì)測試場景、編寫測試用例;第四步編寫測試腳本;第五步調(diào)通測試腳本;第六步在腳本可以全程跑通的情況下,增加assert_exists等斷言語句。4.2測試用例測試用例從5個(gè)一級(jí)大功能點(diǎn)入手,在5個(gè)一級(jí)大功能點(diǎn)的基礎(chǔ)上進(jìn)行細(xì)分,5個(gè)一級(jí)大功能點(diǎn)包括:微信小程序不同入口、定位、我的、訂單、首頁。4.2.1第一個(gè)大功能點(diǎn)——微信小程序不同入口微信小程序不同入口可以劃分為10個(gè)具體場景:(1)、微信聊天主界面下拉,然后點(diǎn)擊搜索框文字輸入“58到家保潔”搜索小程序;(2)、微信聊天主界面下拉,然后點(diǎn)擊搜索框,點(diǎn)擊搜索歷史記錄“58到家保潔”(3)、微信聊天主界面下拉,在“最近使用”一欄中有最近使用過的小程序“58到家保潔”(4)、微信聊天主界面下拉,在“我的小程序”一欄中有最近使用過的小程序“58到家保潔”(5)、微信-發(fā)現(xiàn)-小程序-右上角搜索圖標(biāo),點(diǎn)擊進(jìn)入小程序搜索界面,文字輸入“58到家保潔”(6)、微信-發(fā)現(xiàn)-小程序-右上角搜索圖標(biāo),點(diǎn)擊搜索歷史記錄中的“58到家保潔”(7)、微信-發(fā)現(xiàn)-小程序-我的小程序(8)、發(fā)現(xiàn)-小程序-最近使用(9)、聊天記錄-發(fā)送給好友的小程序(10)、聊天記錄-好友給你發(fā)送小程序這10個(gè)具體場景的前置條件、測試步驟和預(yù)期結(jié)果如下表所示:表4-1微信小程序不同入口的10個(gè)具體場景測試用例步驟及預(yù)期結(jié)果編號(hào)具體場景前置條件測試步驟預(yù)期結(jié)果1微信聊天主界面下拉-搜索框搜索小程序已經(jīng)登錄微信1、點(diǎn)擊微信圖標(biāo)2、下拉聊天列表3、點(diǎn)擊“搜索小程序”搜索框4、輸入“58到家保潔”,回車搜索5、搜索結(jié)果,點(diǎn)擊“58到家保潔”,6、獲取你的位置申請,點(diǎn)擊“允許”,7、選擇定位城市,進(jìn)入58到家保潔首頁1、搜索結(jié)果有“58到家保潔”,2、有彈框:獲取你的位置申請,可以點(diǎn)擊“允許”,3、選擇定位城市,可以進(jìn)入58到家保潔首頁2微信聊天主界面下拉-搜索框-搜索歷史記錄已經(jīng)搜索過“58到家保潔”,搜索歷史記錄中有“58到家保潔”搜索歷史記錄1、點(diǎn)擊微信圖標(biāo)2、下拉聊天列表3、點(diǎn)擊“搜索小程序”搜索框4、點(diǎn)擊搜索歷史記錄中的“58到家保潔”5、進(jìn)入搜索結(jié)果頁面,6、點(diǎn)擊“58到家保潔”小程序,進(jìn)入首頁1、搜索歷史記錄中有“58到家保潔”2、可以進(jìn)入搜索結(jié)果頁面,3、點(diǎn)擊“58到家保潔”小程序,可以進(jìn)入首頁3微信聊天主界面下拉-最近使用已經(jīng)使用過小程序,最近使用入口1、點(diǎn)擊微信圖標(biāo)2、下拉聊天列表3、點(diǎn)擊“最近使用”類別中,“58到家保潔”小程序,進(jìn)入首頁可以進(jìn)入“58到家保潔”小程序首頁4微信聊天主界面下拉-我的小程序已經(jīng)使用過,并且已經(jīng)添加到“我的小程序”(小程序右上角…,“添加到我的小程序”)1、點(diǎn)擊微信圖標(biāo)2、下拉聊天列表3、點(diǎn)擊“我的小程序”類別中,“58到家保潔”小程序,進(jìn)入首頁可以進(jìn)入“58到家保潔”小程序首頁5發(fā)現(xiàn)-小程序-右上角搜索圖標(biāo)1、微信--》發(fā)現(xiàn)--》小程序,右上角搜索圖標(biāo)2、輸入“58到家保潔”,回車3、搜索結(jié)果,點(diǎn)擊“58到家保潔”,進(jìn)入58到家保潔首頁可以進(jìn)入“58到家保潔”小程序首頁6發(fā)現(xiàn)-小程序-右上角搜索圖標(biāo),搜索歷史記錄已經(jīng)搜索過,有搜索歷史記錄1、微信--》發(fā)現(xiàn)--》小程序,右上角搜索圖標(biāo)2、點(diǎn)擊搜索歷史記錄中的“58到家保潔”,3、搜索結(jié)果,點(diǎn)擊“58到家保潔”小程序,進(jìn)入首頁可以進(jìn)入“58到家保潔”小程序首頁7發(fā)現(xiàn)-小程序-我的小程序已經(jīng)添加到我的小程序中1、微信--》發(fā)現(xiàn)--》小程序--》我的小程序2、點(diǎn)擊“58到家保潔”小程序,進(jìn)入首頁可以進(jìn)入“58到家保潔”小程序首頁8發(fā)現(xiàn)-小程序-最近使用最近有使用過1、微信--》發(fā)現(xiàn)--》小程序,最近使用,2、點(diǎn)擊“58到家保潔”小程序,進(jìn)入首頁可以進(jìn)入“58到家保潔”小程序首頁9聊天記錄-發(fā)送給好友的小程序已經(jīng)給好友發(fā)送小程序1、微信--》xxxuuu--》聊天記錄中,2、點(diǎn)擊發(fā)送給朋友的“58到家保潔”小程序可以進(jìn)入“58到家保潔”小程序首頁10聊天記錄-好友給你發(fā)送小程序好友給你發(fā)送小程序1、微信--》xxxuuu--》聊天記錄中2、點(diǎn)擊朋友發(fā)送來的“58到家保潔”小程序可以進(jìn)入“58到家保潔”小程序首頁4.2.2第二個(gè)大功能點(diǎn)——定位定位可以劃分為3個(gè)具體場景:拒絕位置申請、開啟位置信息和重新定位。這3個(gè)具體場景的前置條件、測試步驟和預(yù)期結(jié)果如下表所示:表4-2一級(jí)大功能點(diǎn)“定位”的3個(gè)具體場景的測試用例步驟及預(yù)期結(jié)果具體場景測試步驟預(yù)期結(jié)果拒絕位置申請獲取你的位置申請,點(diǎn)擊拒絕關(guān)閉“獲取你的位置申請”彈框檢查是否關(guān)閉“獲取你的位置申請”彈框是開啟位置信息點(diǎn)擊【重新點(diǎn)位】按鈕彈框提示:“請?jiān)试S小程序獲取你的地理位置,方便為您推薦附近的服務(wù),前去設(shè)置”檢查是否有彈框是點(diǎn)擊彈框中的【去開啟】按鈕關(guān)閉彈框檢查是否關(guān)閉彈框是點(diǎn)擊右上角【…】按鈕彈框檢查是否有設(shè)置界面的彈框是點(diǎn)擊【設(shè)置】按鈕進(jìn)入設(shè)置界面檢查是否有進(jìn)入設(shè)置界面是點(diǎn)擊【位置信息】進(jìn)入位置信息設(shè)置頁面檢查是否進(jìn)入位置信息設(shè)置頁面是選擇【僅在使用小程序期間】【僅在使用小程序期間】選項(xiàng)被選中檢查【僅在使用小程序期間】選項(xiàng)是否被選中是返回可以返回設(shè)置頁面檢查是否返回設(shè)置頁面是返回返回小程序切換城市的頁面檢查是否返回小程序切換城市的頁面是重新定位點(diǎn)擊重新定位定位城市刷新檢查定位城市是否刷新是點(diǎn)擊定位城市--佛山,進(jìn)入首頁進(jìn)入首頁檢查是否進(jìn)入首頁是4.2.3第三個(gè)大功能點(diǎn)——“我的”“我的”可以劃分為8個(gè)二級(jí)功能點(diǎn),19個(gè)具體場景:8個(gè)二級(jí)功能點(diǎn)有:立即登錄、我的優(yōu)惠、我的套餐、我的秒殺、我的地址、聯(lián)系客服、用戶協(xié)議和退出登錄。19個(gè)具體場景為:進(jìn)入我的頁面、進(jìn)入登錄頁面、拒絕手機(jī)號(hào)碼的申請、允許手機(jī)號(hào)碼的申請、我的優(yōu)惠、我的套餐、我的秒殺、添加服務(wù)地址、修改聯(lián)系人、修改手機(jī)號(hào)碼、修改服務(wù)地址、修改詳細(xì)地址、【+添加新地址】、返回“我的”頁面、取消聯(lián)系客服、跳轉(zhuǎn)到電話頁面、"58家政服務(wù)協(xié)議“瀏覽閱讀、退出登錄、重新登錄。這18個(gè)具體場景的前置條件、測試步驟和預(yù)期結(jié)果如下表所示:表4-3一級(jí)大功能點(diǎn)“我的”的19個(gè)具體場景的測試用例步驟及預(yù)期結(jié)果二級(jí)功能具體場景測試步驟預(yù)期結(jié)果進(jìn)入我的頁面點(diǎn)擊【我的】進(jìn)入【我的】頁面檢查是否進(jìn)入【我的】頁面是立即登錄進(jìn)入登錄頁面點(diǎn)擊【立即登錄】進(jìn)入【登錄】頁面檢查是否進(jìn)入【登錄】頁面是拒絕手機(jī)號(hào)碼的申請點(diǎn)擊【使用第三方登錄微信登錄】彈框申請使用你的手機(jī)號(hào)碼檢查是否有彈框申請使用你的手機(jī)號(hào)碼有你的手機(jī)號(hào)碼申請使用界面,點(diǎn)擊【拒絕】toast提示:登錄失敗檢查是否有toast提示:登錄失敗有,但是無法截圖到允許手機(jī)號(hào)碼的申請?jiān)俅吸c(diǎn)擊使用第三方登錄微信登錄彈框申請使用你的手機(jī)號(hào)碼你的手機(jī)號(hào)碼申請使用界面,點(diǎn)擊允許返回【我的】頁面檢查是否已經(jīng)登錄已經(jīng)登錄我的優(yōu)惠點(diǎn)擊【我的優(yōu)惠】進(jìn)入【我的優(yōu)惠】檢查是否進(jìn)入【我的優(yōu)惠】是返回返回【我的】頁面我的套餐點(diǎn)擊【我的套餐】進(jìn)入【我的套餐】檢查是否進(jìn)入【我的套餐】是返回返回【我的】頁面我的秒殺點(diǎn)擊【我的秒殺】進(jìn)入【我的秒殺】檢查是否進(jìn)入【我的秒殺】是返回返回【我的】頁面我的地址添加服務(wù)地址點(diǎn)擊【我的地址】進(jìn)入【我的地址】檢查是否進(jìn)入【我的地址】是點(diǎn)擊【添加服務(wù)地址】進(jìn)入新增地址頁面檢查是否進(jìn)入【新增地址】頁面是輸入聯(lián)系人:許權(quán)聯(lián)系人一欄可以輸入:許權(quán)輸入手機(jī)號(hào)碼:11111111111手機(jī)號(hào)碼一欄可以輸入:11111111111點(diǎn)擊服務(wù)地址進(jìn)入搜索地址頁面檢查是否進(jìn)入搜索地址頁面是點(diǎn)擊重新定位定位城市刷新檢查定位城市是否刷新是點(diǎn)擊【松崗中心幼兒園(文明西路)】返回新增地址頁面檢查是否返回新增地址頁面是輸入詳細(xì)地址:1樓2單元666室可以輸入詳細(xì)地址:1樓2單元666室檢查是否可以輸入詳細(xì)地址:1樓2單元666室是按X鍵,清空輸入的詳細(xì)地址按X鍵可以清空輸入的詳細(xì)地址檢查是否清空是再次輸入詳細(xì)地址:1樓2單元666室可以輸入詳細(xì)地址:1樓2單元666室點(diǎn)擊【保存】toast提示:請輸入正確的手機(jī)號(hào)點(diǎn)擊【手機(jī)號(hào)】一欄,清空可以清空檢查是否清空是重新輸入正確的電話號(hào)碼機(jī)號(hào)碼一欄可以輸入擊【保存】保存并返回到我的地址頁面檢查是否返回到我的地址頁面是檢查剛剛添加的地址是否添加是修改聯(lián)系人點(diǎn)擊【編輯】按鈕進(jìn)入編輯地址頁面修改聯(lián)系人可以修改聯(lián)系人點(diǎn)擊【保存】保存并返回到我的地址頁面檢查聯(lián)系人是否變更是修改手機(jī)號(hào)碼點(diǎn)擊【編輯】按鈕進(jìn)入編輯地址頁面修改手機(jī)號(hào)碼可以修改手機(jī)號(hào)碼點(diǎn)擊【保存】保存并返回到我的地址頁面檢查手機(jī)號(hào)碼是否變更是修改服務(wù)地址點(diǎn)擊【編輯】按鈕進(jìn)入編輯地址頁面點(diǎn)擊服務(wù)地址進(jìn)入搜索地址頁面點(diǎn)擊重新定位定位城市刷新檢查定位城市是否刷新是選擇【松崗中心幼兒園(文明西路)】保存并返回到新增地址頁面檢查是否返回新增地址頁面是檢查服務(wù)地址是否變更是修改詳細(xì)地址點(diǎn)擊【詳細(xì)地址】一欄出現(xiàn)X按鈕檢查是否出現(xiàn)X按鈕是點(diǎn)擊X按鈕,清空詳細(xì)地址清空詳細(xì)地址輸入詳細(xì)地址:1樓2單元666室1可以輸入詳細(xì)地址:1樓2單元666室1點(diǎn)擊【保存】保存并返回到我的地址頁面檢查是否返回到我的地址頁面是檢查詳細(xì)地址是否變更是【+添加新地址】點(diǎn)擊底部【+添加新地址】按鈕進(jìn)入新增地址頁面檢查是否進(jìn)入新增地址頁面是返回返回我的地址頁面檢查是否返回我的地址頁面是返回“我的”頁面返回返回“我的”頁面檢查是否返回“我的”頁面是聯(lián)系客服取消聯(lián)系客服點(diǎn)擊【聯(lián)系客服】彈框提示:確定撥打電話:4008196058嗎?檢查是否彈框提示:確定撥打電話:4008196058嗎?是點(diǎn)擊【取消】關(guān)閉彈框跳轉(zhuǎn)到電話頁面再次點(diǎn)擊【聯(lián)系客服】彈框提示:確定撥打電話:4008196058嗎?點(diǎn)擊【確定】跳轉(zhuǎn)到電話頁面檢查是否跳轉(zhuǎn)到電話頁面是返回返回“我的”頁面用戶協(xié)議"58家政服務(wù)協(xié)議“瀏覽閱讀點(diǎn)擊【用戶協(xié)議】進(jìn)入"58家政服務(wù)協(xié)議“頁面檢查是否進(jìn)入"58家政服務(wù)協(xié)議“頁面是下滑到底部能下滑到底部返回返回“我的”頁面退出登錄退出登錄點(diǎn)擊【退出登錄】彈框提示:您真的要退出登錄嗎?檢查是否有彈框提示:您真的要退出登錄嗎?是點(diǎn)擊【取消】關(guān)閉彈窗點(diǎn)擊【退出登錄】彈框提示:您真的要退出登錄嗎?點(diǎn)擊【確認(rèn)】退出登錄檢查是否退出登錄是重新登錄點(diǎn)擊【立即登錄】進(jìn)入登錄頁面點(diǎn)擊使用第三方登錄【微信登錄】彈框申請使用你的手機(jī)號(hào)碼檢查是否彈框申請使用你的手機(jī)號(hào)碼是你的手機(jī)號(hào)碼申請使用界面,點(diǎn)擊【允許】登錄并進(jìn)入“我的”頁面檢查是否登錄是4.2.4第四個(gè)大功能點(diǎn)——“訂單”“訂單”可以劃分為7個(gè)具體場景:進(jìn)入訂單頁面、切換到周期服務(wù)頁面、切換到全部訂單頁面、訂單詳情頁面、查看我的會(huì)員權(quán)益、返回訂單詳情頁面、返回我的訂單頁面。這7個(gè)具體場景的前置條件、測試步驟和預(yù)期結(jié)果如下表所示:表4-4一級(jí)大功能點(diǎn)“訂單”的7個(gè)具體場景的測試用例步驟及預(yù)期結(jié)果具體場景前置條件測試步驟預(yù)期結(jié)果進(jìn)入訂單頁面點(diǎn)擊【訂單】跳轉(zhuǎn)到訂單頁面檢查是否跳轉(zhuǎn)到訂單頁面是切換到周期服務(wù)頁面點(diǎn)擊【周期服務(wù)】跳到【周期服務(wù)】頁面檢查是否跳到【周期服務(wù)】頁面是切換到全部訂單頁面點(diǎn)擊【全部訂單】跳到【全部訂單】頁面檢查是否跳到【全部訂單】頁面是訂單詳情頁面已有訂單點(diǎn)擊全部訂單的任意一個(gè)訂單進(jìn)入訂單詳情頁面檢查是否進(jìn)入訂單詳情頁面是點(diǎn)擊【訂單狀態(tài)】進(jìn)入【訂單狀態(tài)】頁面檢查是否進(jìn)入【訂單狀態(tài)】頁面是返回返回訂單詳情頁點(diǎn)擊訂單信息中的【?隱私保護(hù)”】有“隱私保護(hù)”彈框檢查是否有“隱私保護(hù)”彈框有點(diǎn)擊【我知道了】關(guān)閉“隱私保護(hù)”彈框點(diǎn)擊訂單明細(xì)中的【取消扣款說明】有“取消扣款說明”彈框檢查是否有“取消扣款說明”彈框是查看我的會(huì)員權(quán)益點(diǎn)擊彈框中的【查看我的會(huì)員權(quán)益】跳轉(zhuǎn)到會(huì)員中心頁面檢查是否跳轉(zhuǎn)到會(huì)員中心頁面是返回訂單詳情頁面返回返回訂單詳情頁面檢查是否返回訂單詳情頁面是返回我的訂單頁面返回返回我的訂單頁面檢查是否返回我的訂單頁面是4.2.5第五個(gè)大功能點(diǎn)——“首頁”“首頁”可以劃分為29個(gè)具體場景:29個(gè)具體場景為:進(jìn)入首頁、切換城市--廣州、向左滑動(dòng)輪播圖、日常保潔頁面、選擇城市頁面、瀏覽服務(wù)內(nèi)容、進(jìn)入購買流程、選擇服務(wù)地址、選擇服務(wù)頻次、選擇服務(wù)時(shí)間、閱讀并同意新版《58到家用戶協(xié)議》(注:新用戶才有這個(gè)步驟)、是否使用清潔劑、使用優(yōu)惠券、購買會(huì)員卡、訂單支付、訂單取消、全屋大掃除、油煙機(jī)清洗、擦玻璃、冰箱清洗、洗衣機(jī)清洗、空調(diào)清洗、新屋開荒、除螨清潔、皮沙發(fā)保養(yǎng)、向左滑動(dòng)、地板打蠟、全屋大掃除、瀏覽首頁。這29個(gè)具體場景的前置條件、測試步驟和預(yù)期結(jié)果如下表所示:表4-5一級(jí)大功能點(diǎn)“首頁”的29個(gè)具體場景的測試用例步驟及預(yù)期結(jié)果二級(jí)頁面具體場景測試步驟預(yù)期結(jié)果進(jìn)入首頁點(diǎn)擊【首頁】進(jìn)入首頁頁面檢查是否進(jìn)入首頁頁面是切換城市--廣州點(diǎn)擊【佛山】,進(jìn)入切換城市界面進(jìn)入切換城市界面檢查是否進(jìn)入切換城市界面是點(diǎn)擊【重新定位】重新定位檢查是否已經(jīng)重新定位是點(diǎn)擊右側(cè)【Z】字母跳轉(zhuǎn)到Z字母開頭的城市檢查是否跳轉(zhuǎn)到Z開頭的城市是點(diǎn)擊右側(cè)L字母跳轉(zhuǎn)到L字母開頭的城市檢查是否跳轉(zhuǎn)到【L】開頭的城市是往下滑下滑點(diǎn)擊【#】回到頂部點(diǎn)擊熱門城市--【廣州】跳轉(zhuǎn)到首頁檢查是否跳轉(zhuǎn)到首頁是向左滑動(dòng)輪播圖向左滑動(dòng)輪播圖切換輪播圖熱門服務(wù)--

【日常保潔】日常保潔頁面點(diǎn)擊熱門服務(wù)--【日常保潔】進(jìn)入日常保潔頁面檢查是否進(jìn)入日常保潔頁面是選擇城市頁面點(diǎn)擊【廣州】進(jìn)入選擇城市頁面檢查是否進(jìn)入選擇城市頁面是點(diǎn)擊【重新定位】重新定位檢查當(dāng)前定位城市是否為佛山是點(diǎn)擊右側(cè)【Z】字母跳轉(zhuǎn)到Z字母開頭的城市檢查是否跳轉(zhuǎn)到Z開頭的城市是點(diǎn)擊【L】字母跳轉(zhuǎn)到L字母開頭的城市檢查是否跳轉(zhuǎn)到L字母開頭的城市是點(diǎn)擊#跳轉(zhuǎn)到頂部檢查是否跳轉(zhuǎn)到頂部是返回返回日常保潔頁面瀏覽服務(wù)內(nèi)容下滑到底部可以下滑到底部檢查是否下滑到底部是進(jìn)入購買流程點(diǎn)擊【立即購買】進(jìn)入填寫服務(wù)地址、頻次、時(shí)長和開始時(shí)間頁面檢查是否進(jìn)入填寫服務(wù)地址、頻次、時(shí)長和開始時(shí)間頁面是選擇服務(wù)地址點(diǎn)擊【請選擇服務(wù)地址】進(jìn)入選擇服務(wù)地址頁面檢查是否進(jìn)入選擇服務(wù)地址頁面是選擇第一個(gè)服務(wù)地址返回填寫服務(wù)地址、頻次、時(shí)長和開始時(shí)間頁面檢查是否返回填寫服務(wù)地址、頻次、時(shí)長和開始時(shí)間頁面是選擇服務(wù)頻次選擇服務(wù)頻次--【單次預(yù)約】單次預(yù)約按鈕被選中狀態(tài)檢查【單次預(yù)約】按鈕是否為被選中狀態(tài)是選擇服務(wù)頻次--【兩周一次】兩周一次按鈕被選中狀態(tài)檢查【兩周一次】按鈕是否為被選中狀態(tài)是選擇服務(wù)頻次--【一周一次】一周一次按鈕被選中狀態(tài)檢查【一周一次】按鈕是否為被選中狀態(tài)是選擇服務(wù)頻次--【一周多次】一周多次按鈕被選中狀態(tài)檢查【一周多次】按鈕是否為被選中狀態(tài)是選擇服務(wù)頻次--【單次預(yù)約】單次預(yù)約按鈕被選中狀態(tài)選擇服務(wù)時(shí)間點(diǎn)擊【選擇服務(wù)時(shí)間】進(jìn)入預(yù)約服務(wù)時(shí)間界面檢查是否進(jìn)入預(yù)約服務(wù)時(shí)間界面是點(diǎn)擊保潔時(shí)長的【-】按鈕時(shí)間減少為【2小時(shí)】檢查時(shí)間是否減少為【2小時(shí)】是點(diǎn)擊保潔時(shí)長的【+】按鈕時(shí)間增加為【3小時(shí)】檢查時(shí)間是否增加為【3小時(shí)】是點(diǎn)擊【確認(rèn)】按鈕跳回日常保潔購買界面檢查是否跳回日常保潔購買界面是閱讀并同意新版《58到家用戶協(xié)議》

(注:新用戶才有這個(gè)步驟)點(diǎn)擊【下一步】彈框顯示【請閱讀并同意新版《58到家用戶協(xié)議》,才能提交訂單】檢查是否會(huì)有【請閱讀并同意新版《58到家用戶協(xié)議》,才能提交訂單】彈框是點(diǎn)擊【我知道了】按鈕關(guān)閉彈框點(diǎn)擊【《58到家用戶協(xié)議》】按鈕進(jìn)入【《58到家用戶協(xié)議》】頁面檢查是否進(jìn)入【《58到家用戶協(xié)議》】頁面是返回返回勾選【已閱讀并同意新版《58到家用戶協(xié)議》】已勾選點(diǎn)擊【下一步】按鈕進(jìn)入【預(yù)約訂單】界面檢查是否進(jìn)入【預(yù)約訂單】界面是是否使用清潔劑取消勾選【是否使用清潔劑】選項(xiàng)【是否使用清潔劑】選項(xiàng)沒有勾選檢查是否取消勾選是勾選【是否使用清潔劑】選項(xiàng)【是否使用清潔劑】選項(xiàng)勾選上了檢查是否勾選是使用優(yōu)惠券點(diǎn)擊【優(yōu)惠券】進(jìn)入【我的優(yōu)惠券】頁面檢查是否進(jìn)入【我的優(yōu)惠券】頁面是點(diǎn)擊【不可用優(yōu)惠券】跳轉(zhuǎn)到【不可用優(yōu)惠券】檢查是否跳轉(zhuǎn)到【不可用優(yōu)惠券】是點(diǎn)擊【可用優(yōu)惠券】跳轉(zhuǎn)到【可用優(yōu)惠券】檢查是否跳轉(zhuǎn)到【可用優(yōu)惠券】是點(diǎn)擊底部【不使用優(yōu)惠券】跳轉(zhuǎn)回【預(yù)約訂單】頁面購買會(huì)員卡點(diǎn)擊【會(huì)員卡】進(jìn)入【會(huì)員卡】頁面檢查是否進(jìn)入【會(huì)員卡】頁面是點(diǎn)擊貴賓卡進(jìn)入【購買會(huì)員卡】頁面檢查是否進(jìn)入【購買會(huì)員卡】頁面是往下滑,到達(dá)底部到達(dá)底部點(diǎn)擊【立即購買】,進(jìn)入【支付收銀臺(tái)】界面進(jìn)入【支付收銀臺(tái)】界面檢查是否進(jìn)入【支付收銀臺(tái)】界面是點(diǎn)擊【立即支付1000】按鈕,跳轉(zhuǎn)到收銀臺(tái)界面跳轉(zhuǎn)到收銀臺(tái)界面檢查是否跳轉(zhuǎn)到收銀臺(tái)界面是點(diǎn)擊【確認(rèn)支付】按鈕,進(jìn)入驗(yàn)證指紋界面進(jìn)入驗(yàn)證指紋界面檢查是否進(jìn)入驗(yàn)證指紋界面是返回返回收銀臺(tái)頁面點(diǎn)擊彈框右上角【使用密碼】按鈕底部有鍵盤彈出檢查底部是否有鍵盤彈出是輸入錯(cuò)誤密碼123456可以輸入,輸入完最后一個(gè)數(shù)字時(shí),有【支付密碼錯(cuò)誤,請重試】彈框檢查是否有【支付密碼錯(cuò)誤,請重試】彈框是點(diǎn)擊【重試】進(jìn)入【輸入支付密碼】頁面檢查是否進(jìn)入【輸入支付密碼】頁面是返回返回【會(huì)員卡】界面檢查是否返回【會(huì)員卡】界面是返回返回【支付收銀臺(tái)】界面檢查是否返回【支付收銀臺(tái)】界面是返回返回【購買會(huì)員卡】界面檢查是否返回【購買會(huì)員卡】界面是返回返回【會(huì)員卡】界面檢查是否返回【會(huì)員卡】界面是返回返回【預(yù)約訂單】界面檢查是否返回【預(yù)約訂單】界面是訂單支付點(diǎn)擊底部【還需支付:135元】進(jìn)入【訂單明細(xì)】檢查是否進(jìn)入【訂單明細(xì)】是再次點(diǎn)擊底部【還需支付:135元】收起【訂單明細(xì)】界面檢查是否收起【訂單明細(xì)】界面是點(diǎn)擊底部右側(cè)【去支付】按鈕有【溫馨提示】彈框出現(xiàn)檢查是否有【溫馨提示】彈框出現(xiàn)是點(diǎn)擊【我知道了】按鈕,關(guān)閉彈框,進(jìn)入【支付收銀臺(tái)】界面關(guān)閉彈框,進(jìn)入【支付收銀臺(tái)】界面點(diǎn)擊底部【立即支付135】進(jìn)入【支付收銀臺(tái)】界面返回返回到【訂單】界面檢查是否返回到【訂單】界面是訂單取消點(diǎn)擊【支付】按鈕跳轉(zhuǎn)到【訂單詳情】頁面檢查是否跳轉(zhuǎn)到【訂單詳情】頁面是返回返回全部訂單頁點(diǎn)擊【取消訂單】按鈕跳轉(zhuǎn)到【訂單詳情】頁面檢查是否跳轉(zhuǎn)到【訂單詳情】頁面是點(diǎn)擊底部【取消訂單】按鈕有彈框提示:確認(rèn)要取消訂單嗎?檢查是否有彈框提示:確認(rèn)要取消訂單嗎?是點(diǎn)擊【不取消了】彈框消失再次點(diǎn)擊底部【取消訂單】按鈕有彈框提示:確認(rèn)要取消訂單嗎?檢查是否有彈框提示:確認(rèn)要取消訂單嗎?是點(diǎn)擊【確認(rèn)】按鈕進(jìn)入【取消服務(wù)】界面檢查是否進(jìn)入【取消服務(wù)】界面是選擇【需更改信息,重新下單】【需更改信息,重新下單】選項(xiàng)被選中點(diǎn)擊底部【取消訂單】按鈕有彈框提示:確認(rèn)要取消訂單嗎?檢查是否有彈框提示:確認(rèn)要取消訂單嗎?是點(diǎn)擊【確認(rèn)】按鈕返回【訂單詳情】頁面檢查是否返回【訂單詳情】頁面是全屋大掃除點(diǎn)擊【首頁】跳轉(zhuǎn)到首頁點(diǎn)擊熱門服務(wù)--全屋大掃除進(jìn)入全屋大掃除頁面返回返回首頁油煙機(jī)清洗點(diǎn)擊家居家電清洗【油煙機(jī)清洗】進(jìn)入【油煙機(jī)清洗】返回返回首頁擦玻璃點(diǎn)擊家居家電清洗【擦玻璃】進(jìn)入【擦玻璃】返回返回首頁冰箱清洗點(diǎn)擊家居家電清洗【冰箱清洗】進(jìn)入【冰箱清洗】返回返回首頁洗衣機(jī)清洗點(diǎn)擊家居家電清洗【洗衣機(jī)清洗】進(jìn)入【洗衣機(jī)清洗】返回返回首頁空調(diào)清洗點(diǎn)擊家居家電清洗【空調(diào)清洗】進(jìn)入【空調(diào)清洗】返回返回首頁新屋開荒點(diǎn)擊家居家電清洗【新屋開荒】進(jìn)入【新屋開荒】返回返回首頁除螨清潔點(diǎn)擊家居家電清洗【除螨清潔】進(jìn)入【除螨清潔】返回返回首頁皮沙發(fā)保養(yǎng)點(diǎn)擊家居家電清洗【皮沙發(fā)保養(yǎng)】進(jìn)入【皮沙發(fā)保養(yǎng)】返回返回首頁向左滑動(dòng)向左滑動(dòng)有【地板打蠟】和【全屋大掃除】圖標(biāo)檢查是否有【地板打蠟】和【全屋大掃除】圖標(biāo)是地板打蠟點(diǎn)擊家居家電清洗【地板打蠟】進(jìn)入【地板打蠟】返回返回首頁全屋大掃除點(diǎn)擊家居家電清洗【全屋大掃除】進(jìn)入【全屋大掃除】返回返回首頁瀏覽首頁下滑到底部有【推薦服務(wù)】出現(xiàn)檢查是否有【推薦服務(wù)】是4.2.6初始化為了使腳本可以的循環(huán)使用,我們必須對(duì)自動(dòng)化腳本改變的一些東西進(jìn)行復(fù)位操作,這個(gè)復(fù)位操作我們也嘗試使用自動(dòng)化腳本的方式來實(shí)現(xiàn)。以下是3個(gè)復(fù)位操作的具體場景:小程序移除、刪除服務(wù)地址、退出小程序。具體的測試步驟和預(yù)期結(jié)果如下表所示:表4-63個(gè)復(fù)位操作具體場景的測試用例步驟及預(yù)期結(jié)果具體場景測試步驟預(yù)期結(jié)果小程序移除點(diǎn)擊右上角…底部彈框點(diǎn)擊【從我的小程序中移除】toast提示:已移除刪除服務(wù)地址點(diǎn)擊【我的】進(jìn)入我的頁面點(diǎn)擊【我的地址】進(jìn)入我的地址頁面進(jìn)入【我的地址】界面,選第一個(gè)地址,點(diǎn)擊右側(cè)的【編輯】圖標(biāo)按鈕進(jìn)入編輯地址頁面點(diǎn)擊【刪除】按鈕彈框提示:確認(rèn)刪除此地址嗎?檢查是否彈框提示:確認(rèn)刪除此地址嗎?是點(diǎn)擊【確定】按鈕返回我的地址頁面檢查我的地址頁面是否為缺省圖界面:您還沒有服務(wù)地址哦,添加服務(wù)地址是返回返回我的頁面退出小程序點(diǎn)擊右上角的退出按鈕退出小程序4.3測試詳細(xì)過程4.3.1測試環(huán)境搭建微信小程序的電腦端測試環(huán)境搭建工作如下:(1)、瀏覽器打開Airtest官網(wǎng),下載AirtestIDE,官網(wǎng)界面如下圖所示:圖4-1Airtest官網(wǎng)(2)、點(diǎn)擊“AGREEANDDOWNLOAD”,同意TERMOFSERVICE協(xié)議并下載,如下圖所示:圖4-2TERMOFSERVICE協(xié)議(3)、下載IDE,將文件另存到桌面的Airtest文件夾下,操作步驟如下圖所示:圖4-3另存到桌面的Airtest文件夾下(4)、下載完,打開Airtest文件夾,解壓AirtestIDE_2020-01-21_py3_win64.zip,到當(dāng)前文件夾下,解壓選項(xiàng)和解壓過程如下圖所示:圖4-4解壓到當(dāng)前文件夾圖4-5解壓中(5)、解壓后,多出兩個(gè)文件:AirtestIDE_2020-01-21_py3_win64和ReadMe.txt,如下圖所示:圖4-6解壓后(6)、先打開ReadMe.txt文件,里面是Windows用戶啟動(dòng)AirtestIDE的方式的幫助文檔,有中文和英文兩種。中文幫助文檔如下圖所示:圖4-7ReadMe.txt文件中文幫助文檔、進(jìn)入到AirtestIDE_2020-01-21_py3_win64文件夾下,找到并雙擊AirtestIDE/AirtestIDE.exe啟動(dòng)AirtestIDE,如下圖的箭頭所指:圖4-8AirtestIDE.exe(8)、點(diǎn)擊后,它先打開一個(gè)cmd命令行窗口,不要關(guān)閉,接著就出現(xiàn)Login窗口,如果不想登錄,可以點(diǎn)擊右下角的Skip按鈕,跳過就可以了,cmd命令行窗口和Login窗口如下圖所示:圖4-9cmd命令行窗口圖4-10Login界面(9)、點(diǎn)擊Skip后,cmd命令行窗口的變化如下圖所示:圖4-11cmd命令行窗口(10)、接著出現(xiàn)AirtestIDE界面,界面如下圖所示圖4-12AirtestIDE界面到此,AietestIDE安裝完成。接下來是安卓手機(jī)上的設(shè)置。微信小程序的手機(jī)端準(zhǔn)備工作如下,微信的版本號(hào)是7.0.12測試版,如下圖所示:圖4-13微信版本(1)將手機(jī)用數(shù)據(jù)線插入到電腦中,在手機(jī)的彈框中選擇USB文件傳輸模式—“傳輸文件(MTP)”,如下圖所示:圖4-14“傳輸文件(MTP)”(2)開啟開發(fā)者模式,路徑:設(shè)置-我的設(shè)備-全部參數(shù),連續(xù)點(diǎn)擊“MIUI版本”,直到彈框提示“您已處于開發(fā)者模式,無須進(jìn)行此操作”,操作步驟如下圖所示:圖4-15“我的設(shè)備-全部參數(shù)”圖4-16開啟開發(fā)者模式步驟截圖(3)打開USB調(diào)試功能,設(shè)置-更多設(shè)置-開發(fā)者選項(xiàng)-調(diào)試,打開“USB調(diào)試”開關(guān),并把“USB安裝”和“USB調(diào)試(安全設(shè)置)”開關(guān)打開。操作步驟如下圖所示:圖4-17“更多設(shè)置-開發(fā)者選項(xiàng)”圖4-18打開“USB調(diào)試”開關(guān)圖4-19“USB安裝”和“USB調(diào)試(安全設(shè)置)”圖4-20重要警告手機(jī)設(shè)置已經(jīng)完成。在AirtestIDE界面的右側(cè),可以看到手機(jī)的設(shè)備號(hào)【SerialNO.】點(diǎn)擊【connect】連接設(shè)備,如下圖所示:圖4-21設(shè)備窗點(diǎn)擊后,Log查看窗的變化如下圖所示:圖4-22Log查看窗變化這時(shí)手機(jī)會(huì)有彈框,點(diǎn)擊【繼續(xù)安裝】,操作界面如下圖所示:圖4-23USB安裝提示彈框這時(shí),手機(jī)新增一個(gè)“Yosemite”App的圖標(biāo),如下圖所示:圖4-24YosemiteApp圖標(biāo)在AirtestIDE界面的左下角,有一個(gè)Poco輔助窗,點(diǎn)擊下拉按鈕,選擇Android,腳本編輯窗會(huì)有一段英文出現(xiàn)點(diǎn)擊“Yes”,操作步驟如下圖所示:圖4-25Poco輔助窗圖4-26英文彈框腳本編輯窗新增下列方框內(nèi)的兩端代碼,見下圖方框:圖4-27兩端代碼手機(jī)端會(huì)有彈框出現(xiàn),點(diǎn)擊【繼續(xù)安裝】,操作步驟如下圖所示:圖4-28USB安裝提示彈框安裝后,手機(jī)桌面會(huì)新增一個(gè)“PocoService”的App圖標(biāo),如下圖所示:圖4-29“PocoService”的App圖標(biāo)安裝完,有彈框提示,如下圖所示:圖4-30彈框提示設(shè)置輸入法,路徑:設(shè)置-更多設(shè)置-語言與輸入法,當(dāng)前輸入法選擇:Yosemite輸入法,同時(shí)取消勾選【安卓鍵盤】。操作步驟如下圖所示:圖4-31更多設(shè)置-語言與輸入法圖4-32當(dāng)前輸入法選擇:Yosemite輸入法,同時(shí)取消勾選【安卓鍵盤】Airtest輔助窗的操作介紹,如下圖所示:圖4-33Airtest輔助窗一些按鈕的介紹到這里,AirtestIDE環(huán)境和手機(jī)端的測試環(huán)境已經(jīng)安裝完畢。4.4.2編寫自動(dòng)化測試腳本根據(jù)測試用例編寫自動(dòng)化測試腳本。自動(dòng)化測試腳本如下圖所示:圖4-34測試腳本的截圖4.3.3自動(dòng)化腳本調(diào)試通過十幾次的腳本運(yùn)行,一步步地對(duì)測試腳本進(jìn)行優(yōu)化,使整一個(gè)腳本能夠完整得跑下來。一開始沒有添加sleep語句時(shí),腳本運(yùn)行沒幾步就報(bào)錯(cuò)停下來了,如果在每一個(gè)步驟后,都添加上一個(gè)sleep語句,并且采用默認(rèn)的參數(shù)1.0的話,雖然比沒有加之前,跑得更遠(yuǎn)了,執(zhí)行的步驟多了,可是還是避免不了中途找不到元素報(bào)錯(cuò)停下的問題,所以,要根據(jù)當(dāng)前的網(wǎng)絡(luò)情況還有頁面加載的情況來適當(dāng)增加sleep休眠時(shí)間參數(shù)的值,盡可能達(dá)到完整跑完整個(gè)腳本的目的。4.3.4增加斷言語句在整個(gè)腳本可以全程跑通的情況下,增加斷言assert_exists等語句,來判斷對(duì)應(yīng)的頁面是否正常顯示以及元素是否存在。4.4測試結(jié)果報(bào)告和總結(jié)跑通過的結(jié)果頁面有運(yùn)行時(shí)間,步驟數(shù),也有提供Log報(bào)告下載查看。測試結(jié)果報(bào)告如下圖所示:圖4-35Airtest報(bào)告圖4-36Airtest報(bào)告2圖4-37Airtest報(bào)告3在整個(gè)腳本調(diào)優(yōu)的過程中,發(fā)現(xiàn)Airtest整個(gè)設(shè)計(jì)實(shí)現(xiàn)元素查找的思路,與其他自動(dòng)化測試框架查找元素的方式有所不同,Airtest設(shè)計(jì)之初是為了游戲測試做的一個(gè)UI自動(dòng)化測試工具,在游戲中很多元素都是沒法用網(wǎng)頁或者一般用具性應(yīng)用App的控件元素方法去定位的,比如:ID定位、name定位、Classname定位、Xpath定位、AccessibilityID定位、androiduiautomator定位等,這時(shí)候,最大膽的想法出現(xiàn)了,利用圖像識(shí)別來確定元素圖標(biāo)的位置。局限點(diǎn):(1)、沒有搜索按鈕時(shí),搜索框的自動(dòng)化測試用例無法覆蓋。舉個(gè)例子,就拿微信的搜索框來說,如果是手動(dòng)進(jìn)行搜索的話,你點(diǎn)擊搜索圖標(biāo),進(jìn)入搜索界面,輸入光標(biāo)閃動(dòng),這時(shí)候,鍵盤也隨即彈出來,你只要手動(dòng)點(diǎn)擊鍵盤上的按鈕進(jìn)行輸入即可;再來看一下如果使用adb命令進(jìn)行輸入的話,只能輸入英文和數(shù)字等,無法進(jìn)行中文的輸入,這個(gè)局限性很雞肋??墒鞘褂肁irtest進(jìn)行測試的時(shí)候,就是限制了手機(jī)自帶的輸入法進(jìn)行輸入,也不允許其他輸入法進(jìn)行輸入,前面我們有一個(gè)步驟就是設(shè)置“語言與輸入法”,這個(gè)步驟就是限制了系統(tǒng)自帶的輸入法,使Airtest安裝到手機(jī)中的YosemiteAPP進(jìn)行文字的輸入,這個(gè)輸入法輸入文字后,要進(jìn)行搜索,這時(shí)候最難受的地方來了,平時(shí)我們使用鍵盤進(jìn)行輸入時(shí),如果沒有【搜索】按鈕的,我們只需要在鍵盤按一下回車,就可以進(jìn)行搜索了??墒钱?dāng)我們使用Airtest輔助窗提供的Keyevent函數(shù)時(shí),輸入?yún)?shù)“ENTER”,運(yùn)行腳本,企圖使用text(“58到家保潔”)進(jìn)行文本輸入后面,添加一個(gè)腳本keyevent(“ENTER”)來模擬鍵盤的回車enter鍵,觸發(fā)搜索動(dòng)作,這時(shí)候你會(huì)發(fā)現(xiàn),語句keyevent(“ENTER”)帶來的效果并不是觸發(fā)了“回車搜索”這個(gè)動(dòng)作,實(shí)際的效果是返回了,這時(shí)候會(huì)懷疑是不是參數(shù)不對(duì),查了一個(gè)安卓模擬按鈕的鍵值,回車鍵對(duì)應(yīng)的就是數(shù)字66,這時(shí)候嘗試使用語句keyevent(“66”),不行,還是和語句keyevent(“ENTER”)一樣的效果,只是起到一個(gè)返回的作用。并沒有觸發(fā)回車進(jìn)行搜索這個(gè)動(dòng)作。又嘗試使用命令keyevent("KEYCODE_ENTER")看能不能觸發(fā)回車時(shí)間。還是沒有用,還是和前面兩個(gè)語句。沒辦法放棄了。(2)、輪播圖無法準(zhǔn)確定位到。如果是使用DOM樹結(jié)構(gòu),利用ID定位、name定位、Classname定位、Xpath定位、AccessibilityID定位、androiduiautomator定位等方法進(jìn)行定位的時(shí)候,只要有加載的話,就能在DOM的樹結(jié)構(gòu)中找到對(duì)應(yīng)輪播圖的關(guān)鍵定位元素,使用這些定位元素,就可以對(duì)輪播圖進(jìn)行點(diǎn)擊事件了,而Airtest的原理是,每跳轉(zhuǎn)一個(gè)頁面,就截一個(gè)圖,然后把你點(diǎn)擊的點(diǎn)的周圍的圖像在這個(gè)截圖進(jìn)行圖像識(shí)別,定位到所在的位置,然后給出對(duì)應(yīng)的操作,點(diǎn)擊、滑動(dòng)等之類的動(dòng)作。這個(gè)步驟看起來沒什么毛病沒什么問題,可是最關(guān)鍵的一點(diǎn)就是,它是截圖,然后再把你的點(diǎn)擊位置周圍的圖像在這個(gè)截圖上進(jìn)行識(shí)別的。因?yàn)槭禽啿D,輪播圖是每2秒鐘或其他間隔時(shí)間,就會(huì)跳轉(zhuǎn)到其他輪播圖,如果你點(diǎn)擊的時(shí)候是第一個(gè)輪播圖,而當(dāng)Airtest截圖時(shí),截到的是第2個(gè)甚至第3個(gè)第4個(gè)等等之類的,這時(shí)候,這個(gè)腳本就會(huì)在這里停下來,因?yàn)檎也坏蕉ㄎ辉氐膱D片,沒法進(jìn)行下一步。在這里,我們可以提供一個(gè)解決輪播圖元素找不到的解決方法的思路,就是每個(gè)頁面每次截圖多截兩三個(gè),每次截圖進(jìn)行匹配的時(shí)間間隔是可以使用參數(shù)進(jìn)行設(shè)置的,這時(shí)候,我們在進(jìn)行自動(dòng)化UI測試之前,就可以詢問開發(fā)或者自己先估算一下,每個(gè)輪播停留的時(shí)間和切換的間隔時(shí)間;另外還有就是能提供另一個(gè)參數(shù)的控制,針對(duì)的是輪播的多少來控制一個(gè)步驟的截圖次數(shù),通過遍歷輪播圖,來匹配到對(duì)應(yīng)的點(diǎn)擊事件是作用在哪個(gè)輪播上的,這時(shí)候,我們就可以等輪播圖進(jìn)行第二遍輪播時(shí),找到對(duì)應(yīng)的點(diǎn)擊事件的輪播圖,進(jìn)行點(diǎn)擊,從而來解決輪播圖無法進(jìn)行精確點(diǎn)擊進(jìn)行UI測試的痛點(diǎn)。(3)、時(shí)間滾輪選擇的,Airtest也是無法進(jìn)行模擬操作的。舉個(gè)例子,現(xiàn)在要將下面的圖片的【10分】,向下滑動(dòng),調(diào)整為【08】,無法直接點(diǎn)擊【08】,必須是滑動(dòng)的。時(shí)間滾輪如下圖所示:圖4-38時(shí)間滾輪第五章總結(jié)與展望畢業(yè)論文的題目定為《微信小程序測試》,給人的感覺是大而泛的。什么都能寫,但是怎么寫好是一個(gè)問題。為了這個(gè)小程序測試,曾經(jīng)試著想將“58到家保潔”小程序源碼從手機(jī)里拿出來然后使用反編譯工具去反編譯,試圖從安全的角度去測試小程序。后面又想著不能太單一了,想每個(gè)方面都講述一遍,從小程序的架構(gòu),小程序環(huán)境的安裝到部署測試環(huán)境,再講述與Web測試和App測試不同的點(diǎn),但是實(shí)際查閱資料整理下來后,感覺又不是自己的東西。這時(shí)想起了自動(dòng)化測試,試圖使用Appium測試框架,使得微信小程序的UI測試更易于實(shí)施。但是實(shí)際操作下來,發(fā)現(xiàn)沒有傳聞中的那么快速便捷。試圖去找到一種快捷自動(dòng)化驅(qū)動(dòng)微信小程序(小程序界面元素的定位及驅(qū)動(dòng))。這時(shí)發(fā)現(xiàn)了有這么一個(gè)自動(dòng)化測試工具Airtest,實(shí)戰(zhàn)下來,Airtest腳本開發(fā)速度簡直碾壓BDD技術(shù)方案(Appium+Python3+Behave)。AirtestIDE比起Appium+UIAutomatorViewer定位頁面元素的辦法方便很多,只要控件外觀兩種系統(tǒng)都一樣的話,一個(gè)腳本便可以在兩個(gè)系統(tǒng)上運(yùn)行,是無敵的方便。不用辛辛苦苦地去分iOS系統(tǒng)和Android系統(tǒng)寫腳本。不過,目前AirtestIDE不是很成熟,功能還不是很完善,目前只能做日常巡檢的工作,算是半自動(dòng)化吧,必須有人看著,有些動(dòng)作Airtest是無法模擬的,比如圖案解鎖,它是無法進(jìn)行模擬操作的,不過最笨的解決辦法是,寫個(gè)sleep語句,讓它在這一步停留一下,這時(shí)候人工介入,進(jìn)行滑動(dòng)。Airtest框架基于圖像識(shí)別和UI控件識(shí)別,操作簡單,功能簡潔明了,對(duì)代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論