控件信息來(lái)確保錄制的測(cè)試程序能夠適應(yīng)于多種目標(biāo)終端。在錄制時(shí),測(cè)試終端查找上述應(yīng)用程序?qū)?yīng)的用戶操作界面上各操作控件的地址信息;根據(jù)查找的地址信息,識(shí)別各地址信息映射的操作控件的身份信息;根據(jù)識(shí)別出的身份信息,確定對(duì)應(yīng)的操作控件,從而獲取各操作控件在上述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件過(guò)程中的位置變化信息;進(jìn)而達(dá)到統(tǒng)一測(cè)試程序移植適配各種目標(biāo)終端的目的。
[0038]本發(fā)明實(shí)施例測(cè)試終端響應(yīng)錄制指令,采用進(jìn)程注入的方式將錄制程序注入待測(cè)試的一應(yīng)用程序中;測(cè)試終端基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過(guò)程,得到測(cè)試所述應(yīng)用程序所需的測(cè)試程序,并將所述測(cè)試程序發(fā)送至服務(wù)器,以使服務(wù)器將接收的所述測(cè)試程序發(fā)送至目標(biāo)終端并接收所述目標(biāo)終端執(zhí)行所述測(cè)試程序返回的測(cè)試結(jié)果;相較于現(xiàn)有技術(shù)中,針對(duì)不同的目標(biāo)終端需分別錄制相應(yīng)的測(cè)試程序,本發(fā)明實(shí)施例具有錄制一次測(cè)試程序即可移植適配多種機(jī)型終端的有益效果,節(jié)約了測(cè)試時(shí)間,降低了測(cè)試成本,提高了測(cè)試效率。
[0039]本發(fā)明實(shí)施例還提供了應(yīng)用程序測(cè)試方法中,對(duì)待測(cè)試的應(yīng)用程序注入錄制程序一實(shí)施例;本實(shí)施例僅對(duì)圖2所述實(shí)施例中,測(cè)試終端對(duì)待測(cè)試的一應(yīng)用程序注入錄制程序進(jìn)彳T進(jìn)一步描述。
[0040]基于圖1、圖2所述實(shí)施例的描述,如圖3所示,本發(fā)明應(yīng)用程序測(cè)試方法中對(duì)待測(cè)試的一應(yīng)用程序注入錄制程序,包括:
[0041]步驟S11、測(cè)試終端響應(yīng)錄制指令,獲取所述錄制指令指向的待測(cè)試的一應(yīng)用程序的配置文件;
[0042]本發(fā)明實(shí)施例中,測(cè)試終端提供一注入錄制程序的用戶操作操作界面,如圖4所示,基于圖4所示的用戶操作界面,用戶可以基于上述界面中顯示的“錄制”操作控件,觸發(fā)錄制指令;測(cè)試終端接收到用戶基于上述“錄制”操作控件觸發(fā)的錄制指令時(shí),響應(yīng)該錄制指令,獲取該錄制指令指向的待測(cè)試的應(yīng)用程序的配置文件。所述配置文件包括但不限于:待測(cè)試的應(yīng)用程序的錄制權(quán)限、運(yùn)行環(huán)境、標(biāo)識(shí)ID (Identity,身份)等信息。
[0043]步驟S12、根據(jù)所述配置文件,識(shí)別默認(rèn)的錄制程序與待測(cè)試的所述應(yīng)用程序是否匹配;在默認(rèn)的錄制程序與所述應(yīng)用程序匹配時(shí),執(zhí)行步驟S13 ;在默認(rèn)的錄制程序與所述應(yīng)用程序不匹配時(shí),執(zhí)行步驟S14 ;
[0044]步驟S13、采用進(jìn)程注入的方式將默認(rèn)的錄制程序注入待測(cè)試的所述應(yīng)用程序中;
[0045]步驟S14、發(fā)送需對(duì)默認(rèn)的錄制程序進(jìn)行配置的提示信息,供用戶配置默認(rèn)的錄制程序;接收配置指令,執(zhí)行錄制程序配置事件,獲取用戶配置后的錄制程序,采用進(jìn)程注入的方式將配置后的錄制程序注入待測(cè)的所述應(yīng)用程序中。
[0046]測(cè)試終端根據(jù)獲取的上述應(yīng)用程序的配置文件,識(shí)別測(cè)試終端中預(yù)先存儲(chǔ)的默認(rèn)的錄制程序是否與待測(cè)試的應(yīng)用程序匹配。
[0047]比如,測(cè)試終端根據(jù)待測(cè)試的應(yīng)用程序A的配置文件,識(shí)別出該應(yīng)用程序A的錄制權(quán)限為需獲取該測(cè)試終端的root權(quán)限或者SIM (Subscriber Identity Module,用戶身份識(shí)別)卡權(quán)限,則測(cè)試終端識(shí)別默認(rèn)的錄制程序是否具備root權(quán)限和/或SIM卡權(quán)限;在測(cè)試終端識(shí)別默認(rèn)的錄制程序具備root權(quán)限和/或S頂卡權(quán)限時(shí),識(shí)別默認(rèn)的錄制程序與該應(yīng)用程序A匹配;在測(cè)試終端識(shí)別默認(rèn)的錄制程序同時(shí)不具備root權(quán)限和S頂卡權(quán)限時(shí),識(shí)別默認(rèn)的錄制程序與該應(yīng)用程序A不匹配。
[0048]在測(cè)試終端識(shí)別默認(rèn)的錄制程序與所述應(yīng)用程序匹配時(shí),采用進(jìn)程注入的方式將默認(rèn)的錄制程序注入待測(cè)試的所述應(yīng)用程序中。
[0049]在測(cè)試終端識(shí)別默認(rèn)的錄制程序與所述應(yīng)用程序不匹配時(shí),測(cè)試終端發(fā)送需對(duì)默認(rèn)的錄制程序進(jìn)行配置的提示信息,發(fā)送的提示信息包括不匹配的原因,供用戶根據(jù)上述提示信息配置默認(rèn)的錄制程序;用戶接收到測(cè)試終端發(fā)送的上述提示信息時(shí),基于圖4所示用戶操作界面的“改寫(xiě)腳本”操作控件,修改默認(rèn)的錄制程序;測(cè)試終端發(fā)送上述提示信息后,實(shí)時(shí)檢測(cè)用戶觸發(fā)的操作指令;當(dāng)測(cè)試終端檢測(cè)到用戶觸發(fā)了對(duì)應(yīng)的操作指令時(shí),響應(yīng)用戶觸發(fā)的配置指令,基于用戶操作執(zhí)行錄制程序配置事件,獲取用戶配置后的錄制程序,并采用進(jìn)程注入的方式將配置后的錄制程序注入上述待測(cè)試的應(yīng)用程序A中。
[0050]如,對(duì)于上述應(yīng)用程序A的錄制權(quán)限為需獲取該測(cè)試終端的root權(quán)限,而測(cè)試終端識(shí)別出默認(rèn)的錄制程序不具備root權(quán)限時(shí),測(cè)試終端發(fā)送“錄制應(yīng)用程序A需要獲取root權(quán)限,而默認(rèn)的錄制程序不具備root權(quán)限”的提示信息,則用戶根據(jù)上述提示信息,觸發(fā)配置指令;測(cè)試終端響應(yīng)用戶觸發(fā)的上述配置指令,執(zhí)行錄制程序配置事件,獲取用戶配置后的具備root權(quán)限的錄制程序,并采用進(jìn)程注入的方式將配置后具備root權(quán)限錄制程序注入上述應(yīng)用程序A中。
[0051]本實(shí)施例中,所述root權(quán)限可以理解為智能手機(jī)操作系統(tǒng)權(quán)限的一種;root是Linux (操作系統(tǒng)的一種)和Unix (操作系統(tǒng)的一種)系統(tǒng)中的超級(jí)管理員用戶帳戶,該帳戶擁有整個(gè)系統(tǒng)至高無(wú)上的權(quán)力,所有對(duì)象root都可以操作,獲得root權(quán)限之后就意味著已經(jīng)獲得了手機(jī)的最高權(quán)限,可以對(duì)手機(jī)中的任何文件(包括系統(tǒng)文件)執(zhí)行所有增、刪、改、查的操作。
[0052]本發(fā)明實(shí)施例測(cè)試終端能夠根據(jù)待測(cè)試的具體應(yīng)用程序配置相應(yīng)的錄制程序,擴(kuò)大了測(cè)試程序移植適配的適用范圍,提高了應(yīng)用程序測(cè)試的智能性。
[0053]本發(fā)明還提供了一種應(yīng)用程序測(cè)試方法第二實(shí)施例;如圖5所示,本發(fā)明應(yīng)用程序測(cè)試方法包括以下步驟:
[0054]步驟S21、測(cè)試終端響應(yīng)錄制指令,對(duì)待測(cè)試的一應(yīng)用程序注入錄制程序,并基于所述錄制程序錄制所述應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過(guò)程,得到測(cè)試所述應(yīng)用程序所需的測(cè)試程序,將所述測(cè)試程序發(fā)送至服務(wù)器;
[0055]本發(fā)明實(shí)施例中,對(duì)應(yīng)用程序進(jìn)行測(cè)試之前,測(cè)試終端需要對(duì)待測(cè)試的應(yīng)用程序錄制對(duì)應(yīng)的測(cè)試程序;其中,針對(duì)相同版本的同一應(yīng)用程序,測(cè)試終端僅需錄制一次測(cè)試程序即可。進(jìn)一步地,本實(shí)施例中,測(cè)試終端可以預(yù)先安裝一移植適配自動(dòng)化測(cè)試工具,利用上述測(cè)試工具錄制對(duì)應(yīng)的測(cè)試程序。
[0056]測(cè)試終端響應(yīng)錄制指令;比如,測(cè)試終端接收到用戶基于測(cè)試終端提供的用戶操作界面觸發(fā)的錄制指令時(shí),響應(yīng)用戶觸發(fā)的錄制指令,獲取上述錄制指令所指向的待測(cè)試的一應(yīng)用程序;測(cè)試終端采用進(jìn)程注入的方式將錄制程序注入上述待測(cè)試的應(yīng)用程序中;其中,在注入錄制程序時(shí),該待測(cè)試的應(yīng)用程序已經(jīng)開(kāi)始運(yùn)行。利用注入的錄制程序,測(cè)試終端錄制該應(yīng)用程序執(zhí)行預(yù)設(shè)操作事件的過(guò)程;比如,測(cè)試終端錄制該應(yīng)用程序執(zhí)行用戶基于該應(yīng)用程序提供的操作控件所觸發(fā)的操作事件。上述預(yù)設(shè)操作事件包括針對(duì)同一應(yīng)用程序預(yù)先設(shè)置的不同的操作事件,以及針對(duì)同一應(yīng)用程序?qū)?yīng)的不同版本之間預(yù)先設(shè)置的不同的操作事件,以及錄制時(shí)該應(yīng)用程序基于用戶觸發(fā)的操作指令所執(zhí)行的對(duì)應(yīng)的操作事件等;上述預(yù)設(shè)操作事件可以由測(cè)試人員進(jìn)行預(yù)先設(shè)置,也可以在錄制時(shí)根據(jù)測(cè)試人員觸發(fā)的操作指令生成對(duì)應(yīng)的操作事件,本實(shí)施例對(duì)上述預(yù)設(shè)操作事件的具體類型及具體內(nèi)容不做限定。
[0057]測(cè)試終端利用注入的錄制程序?qū)ι鲜鰬?yīng)用程序執(zhí)行預(yù)設(shè)操作事件錄制完成后,生成測(cè)試該應(yīng)用程序所需的測(cè)試程序,并將得到的測(cè)試程序發(fā)送至服務(wù)器,供服務(wù)器管理上述測(cè)試程序。其中,上述測(cè)試程序能夠以自動(dòng)化測(cè)試腳本的形式自動(dòng)運(yùn)行。
[0058]步驟S22、服務(wù)器接收測(cè)試終端發(fā)送的所述測(cè)試程序,將所述測(cè)試程序發(fā)送至多個(gè)目標(biāo)終端;
[0059]步驟S23、目標(biāo)終端接收服務(wù)器發(fā)送的所述測(cè)試程序,執(zhí)行所述測(cè)試程序,將執(zhí)行所述測(cè)試程序得到的測(cè)試數(shù)據(jù)返回至服務(wù)器。
[0060]服務(wù)器接收測(cè)試終端發(fā)送的測(cè)試程序,并將上述測(cè)試程序分別發(fā)送至多個(gè)目標(biāo)終端,供目標(biāo)終端自動(dòng)執(zhí)行上述測(cè)試程序。在目標(biāo)終端接收到服務(wù)器下發(fā)的上述測(cè)試程序時(shí),各目標(biāo)終端自動(dòng)化執(zhí)行上述測(cè)試程序,模擬執(zhí)行測(cè)試程序?qū)?yīng)的應(yīng)用程序在該目標(biāo)終端上的運(yùn)行情況,執(zhí)行完成后,得到反映所述應(yīng)用程序在該目標(biāo)終端上運(yùn)行情況的測(cè)試數(shù)據(jù);各目標(biāo)終端分別將自身得到的上述測(cè)試數(shù)據(jù)上傳至服務(wù)器,服務(wù)器收集各目標(biāo)終端執(zhí)行上述測(cè)試數(shù)據(jù)所返回的測(cè)試數(shù)據(jù),供測(cè)試人員根據(jù)收集的上述測(cè)試數(shù)據(jù)執(zhí)行對(duì)應(yīng)操作;比如,測(cè)試人員可以根據(jù)上述測(cè)試數(shù)據(jù)對(duì)應(yīng)用程序進(jìn)行相應(yīng)優(yōu)化,使得上述應(yīng)用程序運(yùn)行時(shí)占用較少的系統(tǒng)資源或者網(wǎng)絡(luò)帶寬等。
[0061]本實(shí)施例中,服務(wù)器可以建立一個(gè)用于專門存儲(chǔ)測(cè)試程序的數(shù)據(jù)庫(kù),將測(cè)試終端發(fā)送的測(cè)試程序均存儲(chǔ)在上述數(shù)據(jù)庫(kù)中。由于針對(duì)不同的應(yīng)用程序以及同一應(yīng)用程序的不同版本,測(cè)試終端均會(huì)錄制生成對(duì)應(yīng)的不同的測(cè)試程序,因此服務(wù)器在存儲(chǔ)上述測(cè)試程序時(shí),可以為上述測(cè)試程序及各測(cè)試程序?qū)?yīng)的被測(cè)應(yīng)用程序建立映射關(guān)系列表,以便于服務(wù)器在后續(xù)對(duì)上述應(yīng)用程序進(jìn)行測(cè)試時(shí),根據(jù)建立的映射關(guān)聯(lián)列表,查找出上述數(shù)據(jù)庫(kù)中存儲(chǔ)的與被測(cè)應(yīng)用程序映射的測(cè)試程序,直接調(diào)用查找出的測(cè)試程序,并下發(fā)至各目標(biāo)終端,供目標(biāo)終端自動(dòng)化執(zhí)行上述測(cè)試程序,提高測(cè)試效率。
[0062]在本發(fā)明一優(yōu)選實(shí)施例中,測(cè)試終端基于所述應(yīng)用程序執(zhí)行所述預(yù)設(shè)操作事件的同時(shí),利用錄制程序獲取待測(cè)試的應(yīng)用程序?qū)?yīng)的操作控件的控件信息。由于各目標(biāo)終端可能會(huì)出現(xiàn)屏