用戶界面自動(dòng)化測(cè)試方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及測(cè)試技術(shù)領(lǐng)域,特別是涉及一種用戶界面自動(dòng)化測(cè)試方法和一種用戶界面自動(dòng)化測(cè)試裝置。
【背景技術(shù)】
[0002]隨著自動(dòng)化測(cè)試技術(shù)的普及,對(duì)設(shè)備的UI (用戶界面,User Interface)進(jìn)行測(cè)試逐漸由手工測(cè)試轉(zhuǎn)為UI自動(dòng)化測(cè)試。UI自動(dòng)化測(cè)試,即由機(jī)器模擬用戶針對(duì)UI的操作,從而進(jìn)行自動(dòng)化測(cè)試,主要包含網(wǎng)頁(Web)UI自動(dòng)化測(cè)試和本地應(yīng)用程序UI自動(dòng)化測(cè)試。
[0003]現(xiàn)有的UI自動(dòng)化測(cè)試方法通常在瀏覽器上執(zhí)行相應(yīng)UI的測(cè)試用例。然而,在瀏覽器上執(zhí)行UI的測(cè)試用例的過程中,需要渲染UI的頁面元素以顯示對(duì)應(yīng)的頁面內(nèi)容;在測(cè)試用例較多時(shí),上述渲染UI的頁面元素的過程需要花費(fèi)大量的時(shí)間,這增加了 UI自動(dòng)化測(cè)試的時(shí)間,從而影響了 UI自動(dòng)化測(cè)試的效率。
[0004]例如,在瀏覽器上進(jìn)行地圖網(wǎng)站的UI自動(dòng)化測(cè)試的過程中,需要執(zhí)行1078個(gè)測(cè)試用例,這些測(cè)試用例花費(fèi)的時(shí)間為7000s,這嚴(yán)重影響了 UI自動(dòng)化測(cè)試的效率。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的用戶界面自動(dòng)化測(cè)試方法和相應(yīng)的用戶界面自動(dòng)化測(cè)試裝置。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種用戶界面自動(dòng)化測(cè)試方法,包括:
[0007]對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例;
[0008]利用多線程執(zhí)行所述目標(biāo)測(cè)試用例。
[0009]可選地,所述對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換的步驟,包括:
[0010]利用JAVA反射技術(shù)對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例。
[0011]可選地,所述利用JAVA反射技術(shù)對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例的步驟,包括:
[0012]利用JAVA反射技術(shù)獲取測(cè)試任務(wù)中測(cè)試用例對(duì)應(yīng)測(cè)試類的對(duì)象方法;
[0013]將所述對(duì)象方法轉(zhuǎn)換為預(yù)置的統(tǒng)一格式,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例。
[0014]可選地,所述利用多線程執(zhí)行所述目標(biāo)測(cè)試用例的步驟,包括:各線程利用代碼解析器執(zhí)行所述目標(biāo)測(cè)試用例。
[0015]可選地,在所述利用多線程執(zhí)行所述目標(biāo)測(cè)試用例的步驟之前,所述方法還包括:將所述目標(biāo)測(cè)試用例寫入緩沖區(qū);
[0016]所述利用多線程執(zhí)行所述目標(biāo)測(cè)試用例的步驟,包括:
[0017]各線程在處于空閑狀態(tài)時(shí),掃描所述緩沖區(qū);
[0018]在掃描到新的目標(biāo)測(cè)試用例時(shí),從所述緩沖區(qū)中讀取并執(zhí)行所述目標(biāo)測(cè)試用例。
[0019]可選地,在所述對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例的步驟之前,所述方法還包括:
[0020]執(zhí)行節(jié)點(diǎn)接收調(diào)度節(jié)點(diǎn)分發(fā)的測(cè)試任務(wù);其中,所述測(cè)試任務(wù)為所述調(diào)度節(jié)點(diǎn)對(duì)原有測(cè)試任務(wù)進(jìn)行切片得到的任務(wù);
[0021]所述對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例的步驟具體為,所述執(zhí)行節(jié)點(diǎn)對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例。
[0022]根據(jù)本發(fā)明的另一方面,提供了一種用戶界面自動(dòng)化測(cè)試裝置,包括:
[0023]格式轉(zhuǎn)換模塊,用于對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例;及
[0024]多線程執(zhí)行模塊,用于利用多線程執(zhí)行所述目標(biāo)測(cè)試用例。
[0025]可選地,所述格式轉(zhuǎn)換模塊,包括:
[0026]反射轉(zhuǎn)換子模塊,用于利用JAVA反射技術(shù)對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例。
[0027]可選地,所述反射轉(zhuǎn)換子模塊,包括:
[0028]反射獲取單元,用于利用JAVA反射技術(shù)獲取測(cè)試任務(wù)中測(cè)試用例對(duì)應(yīng)測(cè)試類的對(duì)象方法;及
[0029]轉(zhuǎn)換單元,用于將所述對(duì)象方法轉(zhuǎn)換為預(yù)置的統(tǒng)一格式,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例。
[0030]可選地,所述多線程執(zhí)行模塊,包括:
[0031 ] 解析執(zhí)行子模塊,用于通過各線程利用代碼解析器執(zhí)行所述目標(biāo)測(cè)試用例。
[0032]可選地,所述裝置還包括:
[0033]寫入模塊,用于在所述多線程執(zhí)行模塊利用多線程執(zhí)行所述目標(biāo)測(cè)試用例之前,將所述目標(biāo)測(cè)試用例寫入緩沖區(qū);
[0034]所述多線程執(zhí)行模塊,包括:
[0035]掃描子模塊,用于針對(duì)各線程在處于空閑狀態(tài)時(shí),掃描所述緩沖區(qū);
[0036]讀取執(zhí)行子模塊,用于在掃描到新的目標(biāo)測(cè)試用例時(shí),從所述緩沖區(qū)中讀取并執(zhí)行所述目標(biāo)測(cè)試用例。
[0037]可選地,所述格式轉(zhuǎn)換模塊和所述多線程執(zhí)行模塊位于所述執(zhí)行節(jié)點(diǎn),所述裝置還包括:
[0038]接收模塊,位于執(zhí)行節(jié)點(diǎn),用于在所述格式轉(zhuǎn)換模塊對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例之前,接收調(diào)度節(jié)點(diǎn)分發(fā)的測(cè)試任務(wù);其中,所述測(cè)試任務(wù)為所述調(diào)度節(jié)點(diǎn)對(duì)原有測(cè)試任務(wù)進(jìn)行切片得到的任務(wù)。
[0039]根據(jù)本發(fā)明的用戶界面自動(dòng)化測(cè)試方法和裝置,可以利用多線程并行執(zhí)行UI的目標(biāo)測(cè)試用例,相對(duì)于現(xiàn)有方案在瀏覽器上執(zhí)行相應(yīng)UI的測(cè)試用例,本發(fā)明實(shí)施例能夠大大提高UI自動(dòng)化測(cè)試的效率。
[0040]另外,本發(fā)明實(shí)施例對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例,能夠使得多線程利用與預(yù)置的統(tǒng)一格式相應(yīng)的用例執(zhí)行方案執(zhí)行所述目標(biāo)測(cè)試用例,這相對(duì)于傳統(tǒng)方案根據(jù)不同測(cè)試用例編寫眾多用例執(zhí)行方案,本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)測(cè)試用例與用例執(zhí)行方案的工程代碼的松散耦合,因此能夠進(jìn)一步提高測(cè)試用例的執(zhí)行效率。
[0041]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0042]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0043]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用戶界面自動(dòng)化測(cè)試方法實(shí)施例的步驟流程圖;
[0044]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用戶界面自動(dòng)化測(cè)試方法實(shí)施例的步驟流程圖;
[0045]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種緩沖區(qū)的結(jié)構(gòu)示意圖;
[0046]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用戶界面自動(dòng)化測(cè)試方法實(shí)施例的步驟流程圖;
[0047]圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用戶界面自動(dòng)化測(cè)試方法實(shí)施例的步驟流程圖;
[0048]圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面自動(dòng)化測(cè)試裝置實(shí)施例的結(jié)構(gòu)框圖;
[0049]圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面自動(dòng)化測(cè)試裝置實(shí)施例的結(jié)構(gòu)框圖;以及
[0050]圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種界面自動(dòng)化測(cè)試裝置實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0051]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0052]參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用戶界面自動(dòng)化測(cè)試方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
[0053]步驟101、對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例;
[0054]步驟102、利用多線程執(zhí)行所述目標(biāo)測(cè)試用例。
[0055]本發(fā)明實(shí)施例可以應(yīng)用于UI自動(dòng)化測(cè)試流程中,例如,可以應(yīng)用于瀏覽器的頁面的UI自動(dòng)化測(cè)試,特別地,可以應(yīng)用于瀏覽器的地圖頁面的UI自動(dòng)化測(cè)試。相對(duì)于現(xiàn)有方案在瀏覽器上執(zhí)行相應(yīng)UI的測(cè)試用例,本發(fā)明實(shí)施例可以利用多線程并行執(zhí)行UI的目標(biāo)測(cè)試用例,因此能夠大大提高UI自動(dòng)化測(cè)試的效率。
[0056]另外,本發(fā)明實(shí)施例對(duì)測(cè)試任務(wù)中測(cè)試用例進(jìn)行格式轉(zhuǎn)換,得到具有預(yù)置的統(tǒng)一格式的目標(biāo)測(cè)試用例,能夠使得多線程利用與預(yù)置的統(tǒng)一格式相應(yīng)的用例執(zhí)行方案執(zhí)行所述目標(biāo)測(cè)試用例,這相對(duì)于傳統(tǒng)方案根據(jù)不同測(cè)試用例編寫眾多用例執(zhí)行方案,本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)測(cè)試用例與用例執(zhí)行方案的工程代碼的松散耦合,因此能夠進(jìn)一步提高測(cè)試用例的執(zhí)行效率。
[0057]在實(shí)際應(yīng)用中,上述測(cè)試任務(wù)可以為執(zhí)行節(jié)點(diǎn)自行獲取的測(cè)試任務(wù),也可以為調(diào)度節(jié)點(diǎn)向該執(zhí)行節(jié)點(diǎn)分發(fā)的測(cè)試任務(wù),其中,該測(cè)試任務(wù)中可以包括:至少一個(gè)測(cè)試用例??梢岳斫?,本發(fā)明實(shí)施例