移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置和方法
【專利摘要】本發(fā)明提供了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,包括:終端連接單元,用于在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接;測(cè)試腳本錄制單元,用于利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用iOS系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;任務(wù)測(cè)試單元,用于在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。本發(fā)明還提供了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的應(yīng)用測(cè)試方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜對(duì)象類型的應(yīng)用測(cè)試,建立多對(duì)象類型參與的應(yīng)用測(cè)試的通用、統(tǒng)一測(cè)試思路。
【專利說明】移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置和方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體地,涉及一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置和一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法。
[0003]
【背景技術(shù)】
[0004]軟件的自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。測(cè)試人員按照測(cè)試用例編寫自動(dòng)化測(cè)試腳本,再由機(jī)器執(zhí)行驗(yàn)證預(yù)先設(shè)置好的正常條件和異常條件。自動(dòng)化腳本便可以在工程師們睡覺的時(shí)候運(yùn)運(yùn)行,并且記錄測(cè)試結(jié)果;自動(dòng)化測(cè)試還可以不斷地重復(fù)某個(gè)動(dòng)作而不會(huì)感到疲倦;在添加了新功能以后,還可以回歸一些原有功能的測(cè)試以保證其不受影響。在此過程中節(jié)省了人力、時(shí)間和硬件資源,提高測(cè)試效率和準(zhǔn)確率。
[0005]由于智能手機(jī)操作系統(tǒng)及UI與電腦相比的特殊性,為智能手機(jī)應(yīng)用程序編寫自動(dòng)化測(cè)試腳本是一件非常復(fù)雜的事情,而且很難保證正確性。
[0006]目前智能手機(jī)幾乎已經(jīng)普及到人手一部的程度,移動(dòng)應(yīng)用自動(dòng)化測(cè)試是該領(lǐng)域不可回避的一個(gè)課題。
[0007]因此,需要一種新的應(yīng)用測(cè)試技術(shù),可以在現(xiàn)有的應(yīng)用測(cè)試方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜對(duì)象類型的應(yīng)用測(cè)試,建立多對(duì)象類型參與的應(yīng)用測(cè)試的通用、統(tǒng)一測(cè)試思路。
[0008]
【發(fā)明內(nèi)容】
[0009]本發(fā)明正是基于上述問題,提出了一種新的應(yīng)用測(cè)試技術(shù),可以在現(xiàn)有的應(yīng)用測(cè)試方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜對(duì)象類型的應(yīng)用測(cè)試,建立多對(duì)象類型參與的應(yīng)用測(cè)試的通用、統(tǒng)一測(cè)試思路。
[0010]有鑒于此,本發(fā)明提出了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,包括:終端連接單元,用于在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接;測(cè)試腳本錄制單元,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;任務(wù)測(cè)試單元,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。在該技術(shù)方案中,可以方便地生成自動(dòng)化腳本,使得測(cè)試人員在編寫腳本方面的投入大大降低。
[0011]在上述技術(shù)方案中,優(yōu)選地,所述測(cè)試腳本錄制單元,具體包括:錄制引擎處理模塊,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理;和/或,自動(dòng)化引擎處理模塊,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1s系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。在該技術(shù)方案中,可以被持續(xù)集成調(diào)用,在自動(dòng)編譯、做盤后進(jìn)行黑盒測(cè)試,測(cè)試結(jié)果再持續(xù)集成系統(tǒng)讀出展現(xiàn),使開發(fā)全流程實(shí)現(xiàn)閉環(huán)。
[0012]在上述技術(shù)方案中,優(yōu)選地,所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致;獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息;和/或,所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括:使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例;和/或,所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作;和/或,所述自動(dòng)化引擎處理模塊利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存;和/或,所述自動(dòng)化引擎處理模塊利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UI Automat1n的自動(dòng)化測(cè)試腳本。在該技術(shù)方案中,可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率。
[0013]在上述技術(shù)方案中,優(yōu)選地,所述任務(wù)測(cè)試單元,具體包括:測(cè)試任務(wù)驗(yàn)證模塊,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證;驗(yàn)證結(jié)果輸出模塊,用于驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。在該技術(shù)方案中,可以便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述測(cè)試任務(wù)驗(yàn)證模塊對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括:對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證;和/或,所述驗(yàn)證結(jié)果輸出模塊查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。在該技術(shù)方案中,可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,符合CMMI過程改進(jìn)的思想。
[0015]根據(jù)本發(fā)明的又一個(gè)方面,還提出了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,包括:步驟202:在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接;步驟204:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;步驟206:基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。在該技術(shù)方案中,可以方便地生成自動(dòng)化腳本,使得測(cè)試人員在編寫腳本方面的投入大大降低。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述步驟204,具體包括:步驟302:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理;和/或,步驟304:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。在該技術(shù)方案中,可以被持續(xù)集成調(diào)用,在自動(dòng)編譯、做盤后進(jìn)行黑盒測(cè)試,測(cè)試結(jié)果再持續(xù)集成系統(tǒng)讀出展現(xiàn),使開發(fā)全流程實(shí)現(xiàn)閉環(huán)。
[0017]在上述技術(shù)方案中,優(yōu)選地,所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致;獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息;和/或,所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括:使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例;和/或,所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作;和/或,所述步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存;和/或,所述步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UIAutomat1n的自動(dòng)化測(cè)試腳本。在該技術(shù)方案中,可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率。
[0018]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟402基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證;步驟404驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。在該技術(shù)方案中,可以便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述步驟402對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括:對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證;和/或,所述步驟404查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。在該技術(shù)方案中,可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,符合CMMI過程改進(jìn)的思想。
[0020]通過以上技術(shù)方案,可以在現(xiàn)有的應(yīng)用測(cè)試方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜對(duì)象類型的應(yīng)用測(cè)試,建立多對(duì)象類型參與的應(yīng)用測(cè)試的通用、統(tǒng)一測(cè)試思路。
[0021]
【專利附圖】
【附圖說明】
[0022]圖1示出了根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置的框圖;
圖2示出了根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法的流程圖;
圖3示出了根據(jù)本發(fā)明的實(shí)施例的測(cè)試腳本錄制單元的流程圖;
圖4示出了根據(jù)本發(fā)明的實(shí)施例的任務(wù)測(cè)試單元的流程圖;
圖5示出了根據(jù)本發(fā)明的實(shí)施例的工具示意圖;
圖6示出了根據(jù)本發(fā)明的實(shí)施例的業(yè)務(wù)流程圖。
[0023]
【具體實(shí)施方式】
[0024]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0025]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
[0026]圖1示出了根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置的框圖。
[0027]如圖1所示,根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置100,包括:終端連接單元102,用于在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接;測(cè)試腳本錄制單元104,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;任務(wù)測(cè)試單元106,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。在該技術(shù)方案中,可以方便地生成自動(dòng)化腳本,使得測(cè)試人員在編寫腳本方面的投入大大降低。
[0028]在上述技術(shù)方案中,優(yōu)選地,測(cè)試腳本錄制單元104,具體包括:錄制引擎處理模塊1042,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理;和/或,自動(dòng)化引擎處理模塊1044,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。在該技術(shù)方案中,可以被持續(xù)集成調(diào)用,在自動(dòng)編譯、做盤后進(jìn)行黑盒測(cè)試,測(cè)試結(jié)果再持續(xù)集成系統(tǒng)讀出展現(xiàn),使開發(fā)全流程實(shí)現(xiàn)閉環(huán)。
[0029]在上述技術(shù)方案中,優(yōu)選地,錄制引擎處理模塊1042利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致;獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息;和/或,錄制引擎處理模塊1042利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括:使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例;和/或,錄制引擎處理模塊1042利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作;和/或,自動(dòng)化引擎處理模塊1044利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存;和/或,自動(dòng)化引擎處理模塊1044利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UI Automat1n的自動(dòng)化測(cè)試腳本。在該技術(shù)方案中,可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率。
[0030]在上述技術(shù)方案中,優(yōu)選地,任務(wù)測(cè)試單元106,具體包括:測(cè)試任務(wù)驗(yàn)證模塊1062,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證;驗(yàn)證結(jié)果輸出模塊1064,用于驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。在該技術(shù)方案中,可以便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用。
[0031]在上述技術(shù)方案中,優(yōu)選地,測(cè)試任務(wù)驗(yàn)證模塊1062對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括:對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證;和/或,驗(yàn)證結(jié)果輸出模塊1064查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。在該技術(shù)方案中,可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,符合CMMI過程改進(jìn)的思想。
[0032]圖2示出了根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法的流程圖。
[0033]如圖2所示,根據(jù)本發(fā)明的實(shí)施例的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,包括:步驟202:在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接;步驟204:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;步驟206:基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。在該技術(shù)方案中,可以方便地生成自動(dòng)化腳本,使得測(cè)試人員在編寫腳本方面的投入大大降低。
[0034]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟204,具體包括:步驟302:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理;和/或,步驟304:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。在該技術(shù)方案中,可以被持續(xù)集成調(diào)用,在自動(dòng)編譯、做盤后進(jìn)行黑盒測(cè)試,測(cè)試結(jié)果再持續(xù)集成系統(tǒng)讀出展現(xiàn),使開發(fā)全流程實(shí)現(xiàn)閉環(huán)。
[0035]在上述技術(shù)方案中,優(yōu)選地,步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致;獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息;和/或,步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括:使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例;和/或,步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作;和/或,步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括:利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存;和/或,步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UI Automat1n的自動(dòng)化測(cè)試腳本。在該技術(shù)方案中,可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率。
[0036]在上述技術(shù)方案中,優(yōu)選地,如圖4所示,步驟206,具體包括:步驟402基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證;步驟404驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。在該技術(shù)方案中,可以便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用。
[0037]在上述技術(shù)方案中,優(yōu)選地,步驟402對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括:對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證;和/或,步驟404查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。在該技術(shù)方案中,可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,符合CMMI過程改進(jìn)的思想。
[0038]本發(fā)明的技術(shù)方案,正是為了解決現(xiàn)有技術(shù)中主流智能手機(jī)上應(yīng)用程序自動(dòng)化測(cè)試問題的工具;鑒于智能手機(jī)操作系統(tǒng)絕大部分被android和1S占據(jù),本發(fā)明的技術(shù)方案對(duì)android和1S兩個(gè)系統(tǒng)提供支持。
[0039]本發(fā)明的技術(shù)方案,提供了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試工具,在android、1S主流智能手機(jī)操作系統(tǒng)上實(shí)現(xiàn)對(duì)其應(yīng)用的自動(dòng)化測(cè)試。本發(fā)明的技術(shù)方案需要解決的技術(shù)問題如下:
1、自動(dòng)化腳本生成。以錄制的方式生成腳本,代替以往人工編寫腳本的方式。
[0040]2、腳本可移植性和復(fù)用性。工具錄制出的自動(dòng)化腳本以靜態(tài)文本保存,文件本身不依賴于工具。
[0041]3、腳本對(duì)回放環(huán)境的支持。自動(dòng)化測(cè)試腳本中以對(duì)象的形式保存行為動(dòng)作。只要被測(cè)程序中對(duì)象存在,而無須考慮回放設(shè)備的分辨率、設(shè)置等因素即可回放驗(yàn)證。
[0042]4、回放腳本與回放框架相結(jié)合。選用性能優(yōu)異的回放框架對(duì)腳本進(jìn)行回放,節(jié)省系統(tǒng)資源。
[0043]解決本發(fā)明技術(shù)問題的技術(shù)方案:
(-)工具示意圖。參見圖5。
[0044]㈡工具的UI及操作。
[0045]該工具使用java語言編寫,界面通過swt生成,簡(jiǎn)潔易懂。其操作流程是,在PC端安裝并打開工具,手機(jī)通過USB線連接電腦并開打USB調(diào)試模式,這時(shí)工具會(huì)識(shí)別有手機(jī)連接(1S系統(tǒng)手機(jī)連接時(shí)需要PC端也是蘋果的操作系統(tǒng))。再打開被測(cè)應(yīng)用程序,按錄制用例一翻譯用例一回放用例的步驟進(jìn)行。
[0046]㈢錄制用例
1.android系統(tǒng)錄制用例:
在android系統(tǒng)中,有兩種采集用戶行為動(dòng)作的方式,第一種方式使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作會(huì)以事件流的方式發(fā)送到電腦上,解析這個(gè)事件流即可得到用戶在手機(jī)屏幕上的點(diǎn)擊位置。第二種方式使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,工具即可獲得手機(jī)屏幕上的點(diǎn)擊位置。同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕便可以和PC端界面中的截圖屏幕保持一致。
[0047]現(xiàn)在已經(jīng)獲得了用戶在手機(jī)上的行為動(dòng)作,也就是一些坐標(biāo)信息。如click(200,105)、slip(100,600,230,100)這樣動(dòng)作和坐標(biāo)的組合,但這樣的信息在不同分辨率的手機(jī)上回放會(huì)有問題。使用uiautomator可以獲得當(dāng)前屏幕中所有對(duì)象的坐標(biāo)、所占用屏幕面積等信息,這樣就可以把click(200,105)轉(zhuǎn)化為click(objectName)。
[0048]2.1OS系統(tǒng)錄制用例:
UI Automat1n可以對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制。該工具封裝了 UI Automat1n,利用其錄制功能可以取得用戶的行為動(dòng)作。用例動(dòng)作如下:
Var target = UITarget.1ocalTarget();
這樣的腳本也是以對(duì)象形式保存的,這和我們工具的設(shè)計(jì)初衷保持一致。
[0049]㈣翻譯用例
1.android系統(tǒng)使用開源的Robotium框架作為回放引擎。翻譯時(shí)使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例。因?yàn)槭謾C(jī)上操作種類有限,我們只需要關(guān)心諸如點(diǎn)擊、雙擊、放大、縮小、滑動(dòng)、拖動(dòng)等動(dòng)作即可。
[0050]2.1OS系統(tǒng)的用例不需要再次翻譯,因?yàn)棣?Automat1n錄制出的腳本已經(jīng)是可用的測(cè)試用例了。
[0051]㈤回放用例
1.android系統(tǒng)中回放:
用例的回放動(dòng)作會(huì)在手機(jī)屏幕上顯示,但在回放執(zhí)行前,需要預(yù)置工具預(yù)置回放環(huán)境。對(duì)于android系統(tǒng)的應(yīng)用程序而言,只有重簽名后才能被Robotium框架所認(rèn)識(shí),所以該工具要對(duì)被測(cè)程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,這樣翻譯好的用例就可以在手機(jī)上回放之前錄制的動(dòng)作。
[0052]2.10S系統(tǒng)中回放:
被測(cè)程序同樣需要Developer簽名,我們拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,就可以回放UI Automat1n的自動(dòng)化測(cè)試腳本了。
[0053]㈥結(jié)果驗(yàn)證
記用戶的行為動(dòng)作重現(xiàn)并不是最終目的,我們要實(shí)現(xiàn)對(duì)程序功能的驗(yàn)證。在自動(dòng)化腳本中加入一些驗(yàn)證點(diǎn)可以實(shí)現(xiàn)對(duì)預(yù)期功能、條件的驗(yàn)證。使用工具使用assert (object,value)這樣的格式向腳本中插入驗(yàn)證點(diǎn),驗(yàn)證點(diǎn)會(huì)被翻譯成能被回放框架執(zhí)行的驗(yàn)證語句,實(shí)現(xiàn)對(duì)程序正常條件和異常條件的判斷。
[0054]㈦日志
自動(dòng)化用例往往是以無人執(zhí)守的方式運(yùn)行的,其運(yùn)行結(jié)果要通過完整的日志查看。在回放任務(wù)完成后,在工具中可以查看回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖等等。同時(shí)也可以配置郵箱地址,將日志定時(shí)發(fā)送給相關(guān)責(zé)任人。
[0055]㈧、業(yè)務(wù)流程圖,參見圖6。
[0056]與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案,至少可以達(dá)到以下有益效果:
⑴可以方便的生成自動(dòng)化腳本,使得測(cè)試人員在編寫腳本方面的投入大大降低。它還同時(shí)兼容Android和1S兩種主流手機(jī)操作系統(tǒng),使得關(guān)注重點(diǎn)放在業(yè)務(wù)流程上而不是頻繁的切換、配置測(cè)試環(huán)境。
[0057]⑵可以被持續(xù)集成調(diào)用,在自動(dòng)編譯、做盤后進(jìn)行黑盒測(cè)試,測(cè)試結(jié)果再持續(xù)集成系統(tǒng)讀出展現(xiàn),使開發(fā)全流程實(shí)現(xiàn)閉環(huán)。
[0058]⑶自動(dòng)化測(cè)試可以提高測(cè)試效率,使測(cè)試人員更加專注于新的測(cè)試模塊的建立和開發(fā),從而提高測(cè)試覆蓋率,其次自動(dòng)化測(cè)試更便于測(cè)試資產(chǎn)的數(shù)字化管理,使得測(cè)試資產(chǎn)在整個(gè)測(cè)試生命周期內(nèi)可以得到復(fù)用,這個(gè)特點(diǎn)在功能測(cè)試和回歸測(cè)試中尤其具有意義。此外,測(cè)試流程自動(dòng)化管理可以使機(jī)構(gòu)的測(cè)試活動(dòng)開展更加過程化,符合CMMI過程改進(jìn)的思想。
[0059]以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡(jiǎn)便的、統(tǒng)一的針對(duì)復(fù)雜類型應(yīng)用測(cè)試的解決辦法?,F(xiàn)有的應(yīng)用測(cè)試無法完成有復(fù)雜類型參與的應(yīng)用測(cè)試過程。因此,本發(fā)明提出了一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置和一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,可以在現(xiàn)有的應(yīng)用測(cè)試方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜對(duì)象類型的應(yīng)用測(cè)試,建立多對(duì)象類型參與的應(yīng)用測(cè)試的通用、統(tǒng)一測(cè)試思路。
[0060]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,其特征在于,包括: 終端連接單元,用于在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接; 測(cè)試腳本錄制單元,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理;任務(wù)測(cè)試單元,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。
2.根據(jù)權(quán)利要求1所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,其特征在于,所述測(cè)試腳本錄制單元,具體包括: 錄制引擎處理模塊,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理; 和/或, 自動(dòng)化引擎處理模塊,用于當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。
3.根據(jù)權(quán)利要求2所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,其特征在于,所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括: 使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致; 獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息; 和/或, 所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括: 使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例; 和/或, 所述錄制引擎處理模塊利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括: 預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作; 和/或, 所述自動(dòng)化引擎處理模塊利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括: 利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存; 和/或, 所述自動(dòng)化引擎處理模塊利用1s系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括: 將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UI Automat1n的自動(dòng)化測(cè)試腳本。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,其特征在于,所述任務(wù)測(cè)試單元,具體包括: 測(cè)試任務(wù)驗(yàn)證模塊,用于基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證; 驗(yàn)證結(jié)果輸出模塊,用于驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。
5.根據(jù)權(quán)利要求4所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試裝置,其特征在于,所述測(cè)試任務(wù)驗(yàn)證模塊對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括: 對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證; 和/或, 所述驗(yàn)證結(jié)果輸出模塊查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。
6.一種移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,其特征在于,包括: 步驟202:在PC端安裝待測(cè)應(yīng)用程序,手機(jī)通過USB線連接PC端,在USB調(diào)試模式下識(shí)別到手機(jī)連接; 步驟204:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理,和/或,利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理; 步驟206:基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證,并輸出驗(yàn)證結(jié)果。
7.根據(jù)權(quán)利要求6所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,其特征在于,所述步驟204,具體包括: 步驟302:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制、翻譯和回放處理; 和/或, 步驟304:當(dāng)識(shí)別到有手機(jī)連接時(shí),利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制和回放處理。
8.根據(jù)權(quán)利要求7所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,其特征在于,所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括: 使用android系統(tǒng)自帶的adb命令getevent,用戶在手機(jī)上操作,動(dòng)作以事件流的方式發(fā)送到PC端上,解析蓋事件流獲取用戶在手機(jī)屏幕上的點(diǎn)擊位置;和/或,使用adb命令截圖功能,將手機(jī)屏幕截圖發(fā)送到工具PC端的界面中,用戶用鼠標(biāo)點(diǎn)擊界面中的手機(jī)截圖,獲取手機(jī)屏幕上的點(diǎn)擊位置;同時(shí)配合使用sendkey命令向手機(jī)發(fā)指令,手機(jī)屏幕能夠和PC端界面中的截圖屏幕保持一致; 獲取用戶在手機(jī)上的行為動(dòng)作和/或坐標(biāo)信息后,使用uiautomator獲得當(dāng)前屏幕中包含所有對(duì)象的坐標(biāo)、所占用屏幕面積的信息; 和/或, 所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行翻譯的操作,進(jìn)一步包括: 使用開源的Robotium框架作為回放引擎,使用java語言讀取錄制的腳本xml文件,將其內(nèi)容轉(zhuǎn)譯成為Robotium框架所用的測(cè)試用例; 和/或, 所述步驟302利用android系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括:預(yù)置回放環(huán)境,對(duì)待測(cè)應(yīng)用程序的apk包進(jìn)行解包重簽名再打包,重新安裝到手機(jī)上,使得翻譯好的用例能夠在手機(jī)上回放之前錄制的動(dòng)作; 和/或, 所述步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行錄制的操作,進(jìn)一步包括: 利用UI Automat1n對(duì)Developer簽名的應(yīng)用程序或者運(yùn)行在模擬器里的應(yīng)用程序進(jìn)行錄制,取得用戶的行為動(dòng)作,以對(duì)象形式保存; 和/或, 所述步驟304利用1S系統(tǒng)對(duì)待測(cè)應(yīng)用程序進(jìn)行回放的操作,進(jìn)一步包括: 將待測(cè)應(yīng)用程序進(jìn)行Developer簽名后,拿到源碼后配置上developer的證書,直接通過Xcode編譯安裝到真實(shí)設(shè)備中,回放UI Automat1n的自動(dòng)化測(cè)試腳本。
9.根據(jù)權(quán)利要求6-8中任一項(xiàng)所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,其特征在于,所述步驟206,具體包括: 步驟402基于對(duì)待測(cè)應(yīng)用程序的處理結(jié)果,在自動(dòng)化腳本中加入相應(yīng)驗(yàn)證點(diǎn),將驗(yàn)證點(diǎn)翻譯成能被回放的驗(yàn)證語句,對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證; 步驟404驗(yàn)證完成后,查看相應(yīng)的回放結(jié)果,配置郵箱地址,將日志定時(shí)發(fā)送給相應(yīng)人員。
10.根據(jù)權(quán)利要求9所述的移動(dòng)應(yīng)用自動(dòng)化測(cè)試方法,其特征在于,所述步驟402對(duì)待測(cè)應(yīng)用程序進(jìn)行驗(yàn)證的操作,進(jìn)一步包括: 對(duì)待測(cè)應(yīng)用程序的預(yù)期功能、正常條件和異常條件的驗(yàn)證; 和/或, 所述步驟404查看的回放結(jié)果,包括執(zhí)行用例總數(shù)、通過數(shù)、失敗數(shù)、跳過數(shù)、失敗錯(cuò)誤堆棧信息、失敗截圖。
【文檔編號(hào)】G06F11/36GK104407980SQ201410782404
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月17日 優(yōu)先權(quán)日:2014年12月17日
【發(fā)明者】劉建男 申請(qǐng)人:用友軟件股份有限公司