一種自動(dòng)化測(cè)試方法、裝置及計(jì)算設(shè)備的制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種自動(dòng)化測(cè)試方法,適于在計(jì)算設(shè)備中執(zhí)行,包括:實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其展示在計(jì)算設(shè)備中;接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,確定該輸入操作的類(lèi)型和參數(shù);根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,生成其對(duì)應(yīng)的測(cè)試腳本;將測(cè)試腳本發(fā)送到移動(dòng)終端,并使之開(kāi)始同步執(zhí)行測(cè)試。本發(fā)明還公開(kāi)了一種自動(dòng)化測(cè)試裝置和計(jì)算設(shè)備。
【專(zhuān)利說(shuō)明】
一種自動(dòng)化測(cè)試方法、裝置及計(jì)算設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種自動(dòng)化測(cè)試方法、裝置及計(jì)算設(shè)備。
【背景技術(shù)】
[0002]隨著移動(dòng)終端設(shè)備制造技術(shù)的不斷發(fā)展,各種移動(dòng)終端設(shè)備的智能化程度、便攜性等都有了前所未有的提高,諸如智能手機(jī)等移動(dòng)終端設(shè)備得到了大規(guī)模的普及。如今的移動(dòng)終端設(shè)備,可以運(yùn)行相對(duì)復(fù)雜的操作系統(tǒng),同時(shí),越來(lái)越多的開(kāi)發(fā)者投入到移動(dòng)終端設(shè)備應(yīng)用軟件的開(kāi)發(fā)中,為各種設(shè)備平臺(tái)開(kāi)發(fā)了數(shù)量龐大的軟件應(yīng)用。軟件測(cè)試是軟件應(yīng)用開(kāi)發(fā)過(guò)程中不可或缺的重要環(huán)節(jié),對(duì)于移動(dòng)終端中軟件應(yīng)用的開(kāi)發(fā)亦是如此。通過(guò)軟件測(cè)試,可以了解軟件應(yīng)用是否存在錯(cuò)誤,其運(yùn)行過(guò)程或運(yùn)行結(jié)果是否符合預(yù)期要求,軟件應(yīng)用所能承受的壓力等等。
[0003]移動(dòng)終端的軟件應(yīng)用的測(cè)試工作,為開(kāi)發(fā)出相對(duì)理想的移動(dòng)終端軟件應(yīng)用提供了保證,而其中非常重要的環(huán)節(jié)就是設(shè)計(jì)與編寫(xiě)自動(dòng)化腳本是測(cè)試腳本一般指的是一個(gè)特定測(cè)試的一系列指令,這些指令可以被自動(dòng)化測(cè)試工具執(zhí)行。為了提高測(cè)試腳本的可維護(hù)性和可復(fù)用性,必須在執(zhí)行測(cè)試腳本之前對(duì)它們進(jìn)行構(gòu)建。測(cè)試腳本可以被創(chuàng)建(記錄)或使用測(cè)試自動(dòng)化工具自動(dòng)生成,或用編程語(yǔ)言編程來(lái)完成,也可綜合前三種方法來(lái)完成。
[0004]但通常測(cè)試者手動(dòng)編寫(xiě)腳本的速度都較慢,而且需要對(duì)編寫(xiě)規(guī)則非常熟悉,否則極容易因?yàn)橐粌蓚€(gè)字符的出錯(cuò)導(dǎo)致整個(gè)腳本的失敗。另外,在驗(yàn)證腳本有效性的過(guò)程(腳本調(diào)試)也較為繁瑣:需要進(jìn)行手動(dòng)的復(fù)制黏貼、并在移動(dòng)終端通過(guò)操作應(yīng)用軟件來(lái)啟動(dòng)腳本調(diào)試,或者在CMD命令行中執(zhí)行push操作,并啟動(dòng)shell命令來(lái)執(zhí)行腳本調(diào)試。這些都無(wú)疑加大了自動(dòng)化測(cè)試的成本,且影響自動(dòng)化測(cè)試的效率。
【發(fā)明內(nèi)容】
[0005]為此,本發(fā)明提供一種自動(dòng)化測(cè)試的方法、裝置及計(jì)算設(shè)備,以力圖解決或者至少緩解上面存在的至少一個(gè)問(wèn)題。
[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種自動(dòng)化測(cè)試方法,適于在計(jì)算設(shè)備中執(zhí)行,該方法包括:實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其動(dòng)態(tài)展示在計(jì)算設(shè)備的展示頁(yè)面中;接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,并確定該輸入操作的類(lèi)型和參數(shù);根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,并生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本;將該測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行該測(cè)試腳本。
[0007]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法中,通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出最終生成的測(cè)試腳本。
[0008]可選地,根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法,還包括:響應(yīng)于測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取該事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中;以及根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成與之對(duì)應(yīng)的自動(dòng)化測(cè)試腳本。
[0009]可選地,根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法,還包括:將單個(gè)或多個(gè)事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之開(kāi)始執(zhí)行相應(yīng)測(cè)試;以及在計(jì)算設(shè)備的界面截圖區(qū)域中,判斷該測(cè)試腳本是否執(zhí)行正確。
[0010]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法中,生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本的步驟還包括:根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本,其中計(jì)算設(shè)備中預(yù)先存儲(chǔ)有所述測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。
[0011 ]可選地,根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法,還包括:向待測(cè)移動(dòng)終端發(fā)送腳本錄制指令;接收測(cè)試者在移動(dòng)終端中所進(jìn)行的輸入操作,確定該輸入操作的參數(shù)和類(lèi)型;根據(jù)接收到的輸入操作的參數(shù)和類(lèi)型,生成其對(duì)應(yīng)的測(cè)試腳本,并將其展示在計(jì)算設(shè)備端。
[0012]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法中,將測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行該測(cè)試腳本的步驟還包括:向待測(cè)移動(dòng)終端發(fā)送腳本執(zhí)行指令,使之開(kāi)始執(zhí)行該測(cè)試腳本。
[0013]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法中,事件動(dòng)作包括在待測(cè)移動(dòng)終端的點(diǎn)擊事件動(dòng)作、長(zhǎng)按事件動(dòng)作、滑動(dòng)事件動(dòng)作、打開(kāi)事件動(dòng)作中的至少一個(gè)。
[0014]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法中,計(jì)算設(shè)備中存儲(chǔ)有腳本編輯器,適于展示所述獲取到的界面截圖、所述生成的測(cè)試腳本、所述各級(jí)輸入框,以及所述可視化按鈕。
[0015]根據(jù)本發(fā)明的另一方面,提供了一種自動(dòng)化測(cè)試裝置,裝置包括適于駐留在計(jì)算設(shè)備中,該裝置包括:輸入操作確定模塊,適于接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,并確定該輸入操作的類(lèi)型和參數(shù);腳本生成模塊,適于根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,并生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本;以及腳本發(fā)送模塊,適于將測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行所述測(cè)試腳本。
[0016]可選地,根據(jù)本發(fā)明自動(dòng)化測(cè)試裝置中,還包括:可視化按鈕編輯模塊,適于通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出所生成的測(cè)試腳本。
[0017]可選地,根據(jù)本發(fā)明自動(dòng)化測(cè)試裝置中,還包括:輸入框編輯模塊,適于響應(yīng)測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取所述事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中,以及根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成相應(yīng)的自動(dòng)化測(cè)試腳本。
[0018]可選地,根據(jù)本發(fā)明自動(dòng)化測(cè)試裝置中,還包括:腳本調(diào)試模塊,適于將單個(gè)或多個(gè)事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之開(kāi)始執(zhí)行相應(yīng)測(cè)試;以及在所述計(jì)算設(shè)備的界面截圖區(qū)域,判斷所述測(cè)試腳本是否執(zhí)行正確。
[0019]可選地,根據(jù)本發(fā)明自動(dòng)化測(cè)試裝置中,腳本生成模塊還適于根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本,其中計(jì)算設(shè)備中預(yù)先存儲(chǔ)有所述測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。
[0020]可選地,根據(jù)本發(fā)明自動(dòng)化測(cè)試裝置中,腳本發(fā)送模塊還適于向待測(cè)移動(dòng)終端發(fā)送腳本執(zhí)行指令,使之開(kāi)始執(zhí)行該測(cè)試腳本。
[0021 ]可選地,在根據(jù)本發(fā)明的自動(dòng)化測(cè)試裝置中,所述事件動(dòng)作包括在待測(cè)移動(dòng)終端的點(diǎn)擊事件動(dòng)作、長(zhǎng)按事件動(dòng)作、滑動(dòng)事件動(dòng)作、打開(kāi)事件動(dòng)作中的至少一個(gè)。
[0022]根據(jù)本發(fā)明的另一方面,提供了一種腳本編輯器,具有如上所述的自動(dòng)化測(cè)試裝置。
[0023]根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算設(shè)備,包括如上所述的腳本編輯器。
[0024]根據(jù)本發(fā)明的自動(dòng)化測(cè)試方案,測(cè)試人員只需要在PC端腳本編輯器中的界面展示區(qū)域,模擬操作相關(guān)事件動(dòng)作,系統(tǒng)就會(huì)自動(dòng)生產(chǎn)該事件動(dòng)作所對(duì)應(yīng)的腳本,并將其發(fā)送到移動(dòng)終端進(jìn)行測(cè)試,實(shí)現(xiàn)了PC端和移動(dòng)終端的實(shí)時(shí)同步功能,可以不再過(guò)分依賴移動(dòng)終端,使自動(dòng)化測(cè)試的實(shí)現(xiàn)更加方便。另外,本方案使用下拉框選擇和輸入關(guān)鍵字符的操作來(lái)生成測(cè)試腳本的方式,大大提高了腳本的編寫(xiě)效率,降低了腳本出錯(cuò)率,同時(shí)也節(jié)約了部分文字腳本規(guī)則的學(xué)習(xí)成本。
[0025]本發(fā)明提供了多種簡(jiǎn)單快捷的腳本生成方法,測(cè)試人員不用掌握復(fù)雜的編程語(yǔ)言和代碼管理技能,也不用搭建復(fù)雜的開(kāi)發(fā)環(huán)境,從而大大降低了移動(dòng)終端的自動(dòng)化測(cè)試的測(cè)試成本,并且提高了自動(dòng)化測(cè)試的效率,使得自動(dòng)化測(cè)試更加簡(jiǎn)單便捷、大眾化。
[0026]此外,本方案還提供了導(dǎo)入和導(dǎo)出腳本的功能,方便對(duì)已有腳本進(jìn)行編輯修改、重新適配或完善優(yōu)化,從而提高了腳本的適配速度。
【附圖說(shuō)明】
[0027]為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來(lái)描述某些說(shuō)明性方面,這些方面指示了可以實(shí)踐本文所公開(kāi)的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過(guò)結(jié)合附圖閱讀下面的詳細(xì)描述,本公開(kāi)的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯。遍及本公開(kāi),相同的附圖標(biāo)記通常指代相同的部件或元素。
[0028]圖1示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施方式的計(jì)算設(shè)備100的構(gòu)造框圖;
[0029]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的自動(dòng)化測(cè)試方法200的流程圖;
[0030]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的自動(dòng)化測(cè)試裝置300的示意圖;以及[0031 ]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的腳本編輯器的示意圖。
【具體實(shí)施方式】
[0032]下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0033]圖1為根據(jù)本發(fā)明的一個(gè)實(shí)施方式的計(jì)算設(shè)備100構(gòu)造示意圖。參照?qǐng)D1,在基本的配置102中,計(jì)算設(shè)備100典型地包括系統(tǒng)存儲(chǔ)器106和一個(gè)或者多個(gè)處理器104。存儲(chǔ)器總線108可以用于在處理器104和系統(tǒng)存儲(chǔ)器106之間的通信。
[0034]取決于期望的配置,處理器104可以是任何類(lèi)型的處理,包括但不限于:微處理器((此)、微控制器(yC)、數(shù)字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸如一級(jí)高速緩存110和二級(jí)高速緩存112之類(lèi)的一個(gè)或者多個(gè)級(jí)別的高速緩存、處理器核心114和寄存器116。示例的處理器核心114可以包括運(yùn)算邏輯單元(ALU)、浮點(diǎn)數(shù)單元(FPU)、數(shù)字信號(hào)處理核心(DSP核心)或者它們的任何組合。示例的存儲(chǔ)器控制器118可以與處理器104—起使用,或者在一些實(shí)現(xiàn)中,存儲(chǔ)器控制器118可以是處理器104的一個(gè)內(nèi)部部分。
[0035]取決于期望的配置,系統(tǒng)存儲(chǔ)器106可以是任意類(lèi)型的存儲(chǔ)器,包括但不限于:易失性存儲(chǔ)器(諸如RAM)、非易失性存儲(chǔ)器(諸如R0M、閃存等)或者它們的任何組合。系統(tǒng)存儲(chǔ)器106可以包括操作系統(tǒng)120、一個(gè)或者多個(gè)應(yīng)用122以及程序數(shù)據(jù)124。在一些實(shí)施方式中,應(yīng)用122可以布置為在操作系統(tǒng)上利用程序數(shù)據(jù)124進(jìn)行操作。
[0036]計(jì)算設(shè)備100還可以包括有助于從各種接口設(shè)備(例如,輸出設(shè)備142、外設(shè)接口144和通信設(shè)備146)到基本配置102經(jīng)由總線/接口控制器130的通信的接口總線140。示例的輸出設(shè)備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)A/V端口 152與諸如顯示器或者揚(yáng)聲器之類(lèi)的各種外部設(shè)備進(jìn)行通信。示例外設(shè)接口 144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于經(jīng)由一個(gè)或者多個(gè)I/O端口 158和諸如輸入設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備)或者其他外設(shè)(例如打印機(jī)、掃描儀等)之類(lèi)的外部設(shè)備進(jìn)行通信。示例的通信設(shè)備146可以包括網(wǎng)絡(luò)控制器160,其可以被布置為便于經(jīng)由一個(gè)或者多個(gè)通信端口 164與一個(gè)或者多個(gè)其他計(jì)算設(shè)備162通過(guò)網(wǎng)絡(luò)通信鏈路的通信。
[0037]網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通??梢泽w現(xiàn)為在諸如載波或者其他傳輸機(jī)制之類(lèi)的調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,并且可以包括任何信息遞送介質(zhì)。“調(diào)制數(shù)據(jù)信號(hào)”可以這樣的信號(hào),它的數(shù)據(jù)集中的一個(gè)或者多個(gè)或者它的改變可以在信號(hào)中編碼信息的方式進(jìn)行。作為非限制性的示例,通信介質(zhì)可以包括諸如有線網(wǎng)絡(luò)或者專(zhuān)線網(wǎng)絡(luò)之類(lèi)的有線介質(zhì),以及諸如聲音、射頻(RF)、微波、紅外(IR)或者其它無(wú)線介質(zhì)在內(nèi)的各種無(wú)線介質(zhì)。這里使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)可以包括存儲(chǔ)介質(zhì)和通信介質(zhì)二者。
[0038]計(jì)算設(shè)備100可以實(shí)現(xiàn)為小尺寸便攜(或者移動(dòng))電子設(shè)備的一部分。計(jì)算設(shè)備100還可以實(shí)現(xiàn)為包括桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)配置的個(gè)人計(jì)算機(jī)。在一些實(shí)施例中,計(jì)算設(shè)備100被配置為執(zhí)行根據(jù)本發(fā)明的自動(dòng)化測(cè)試方法200,其中應(yīng)用122包括根據(jù)本發(fā)明的自動(dòng)化測(cè)試裝置300。
[0039]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的自動(dòng)化測(cè)試方法200的流程圖。
[0040]如圖2所示,該方法始于步驟S210。在步驟S210中,實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其動(dòng)態(tài)展示在所述計(jì)算設(shè)備的展示頁(yè)面中。具體地,移動(dòng)終端在與計(jì)算設(shè)備相連后主動(dòng)或者響應(yīng)計(jì)算設(shè)備請(qǐng)求,定期截取當(dāng)前界面截圖發(fā)送給計(jì)算設(shè)備,并展示在如圖4所示的腳本編輯器中。這樣即可在計(jì)算設(shè)備端實(shí)時(shí)觀察到移動(dòng)終端的當(dāng)前界面。
[0041]隨后,在步驟S220中,接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,確定該輸入操作的類(lèi)型和參數(shù),其中輸入操作的參數(shù)包括位置和/或操作時(shí)間。例如,確定該輸入操作為鼠標(biāo)指針從界面中的A點(diǎn)到B點(diǎn)的拖拽,或者鼠標(biāo)指針對(duì)界面中某個(gè)位置的點(diǎn)擊。隨后,在步驟S230中,根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,并生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本。例如,在計(jì)算設(shè)備端從界面截圖區(qū)域的A點(diǎn)到B點(diǎn)的拖拽模擬為從移動(dòng)終端的A點(diǎn)到B點(diǎn)的滑動(dòng)。另外,在生成測(cè)試腳本時(shí),可以先根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本,而計(jì)算設(shè)備端中預(yù)先存儲(chǔ)有不同的測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。這樣,測(cè)試人員就可以通過(guò)簡(jiǎn)單的鼠標(biāo)/鍵盤(pán)操作來(lái)模擬某些測(cè)試步驟,從而快速生成其對(duì)應(yīng)的測(cè)試命令文本,進(jìn)而自動(dòng)生成該步驟所對(duì)應(yīng)的測(cè)試腳本,而無(wú)需進(jìn)行手動(dòng)的逐步編寫(xiě)。
[0042]在這里,預(yù)定文本規(guī)則一般包括根據(jù)操作動(dòng)作預(yù)定義的操作語(yǔ)句、控制語(yǔ)句、驗(yàn)證語(yǔ)句和用來(lái)修飾前面三種語(yǔ)句的語(yǔ)句分隔修飾符,而這些語(yǔ)句即可構(gòu)成一行行的測(cè)試命令文本。
[0043](I)操作語(yǔ)句,用來(lái)聲明測(cè)試人員想要執(zhí)行的某個(gè)動(dòng)作,包括:點(diǎn)擊、長(zhǎng)按、滑動(dòng)、打開(kāi)、截屏、等待、輸入等操作動(dòng)作。
[0044]其中“點(diǎn)擊”對(duì)象可以分為:點(diǎn)擊屏幕坐標(biāo)、點(diǎn)擊物理按鍵、點(diǎn)擊文本對(duì)象。具體地,點(diǎn)擊屏幕坐標(biāo):以語(yǔ)句分隔修飾符“I”來(lái)分割x,y坐標(biāo)。例如,測(cè)試者在某一步驟中需要進(jìn)行點(diǎn)擊測(cè)試,并在腳本編輯器中的某一位置進(jìn)行了點(diǎn)擊操作,側(cè)則根據(jù)本方案的測(cè)試方案,可以從中提取出該操作事件的參數(shù):用戶點(diǎn)擊的坐標(biāo)點(diǎn)的Χ、γ值,并將其映射為測(cè)試腳本中的測(cè)試命令:點(diǎn)擊I坐標(biāo)I 360 I 720 ;點(diǎn)擊物理按鍵:定義物理按鍵包含HOME、MENU、BACK、CAMERA、POWER(滅屏/亮屏)、V0LUME_UP、V0LUME_D0WN等七個(gè)按鍵。要求按鍵部分為英文大寫(xiě)。例如,點(diǎn)擊I按鍵I HOME;點(diǎn)擊文本對(duì)象:例如,點(diǎn)擊I文本I設(shè)置。
[0045]“長(zhǎng)按”對(duì)象可以分為:長(zhǎng)按屏幕坐標(biāo)和長(zhǎng)按文本對(duì)象。具體地,長(zhǎng)按屏幕坐標(biāo):以“I”來(lái)分割x,y坐標(biāo)。例如,長(zhǎng)按I坐標(biāo)13601720;長(zhǎng)按文本對(duì)象:例如,長(zhǎng)按|文本|設(shè)置。
[0046]“滑動(dòng)”操作分為以下兩種:左右方向滑動(dòng)時(shí),直接寫(xiě)出滑動(dòng)的方向,例如,滑動(dòng)I從左到右、滑動(dòng)I從右到左;而記錄滑動(dòng)屏幕坐標(biāo)的操作時(shí),需要記錄起點(diǎn)坐標(biāo)(XQ,yQ)、點(diǎn)擊起點(diǎn)時(shí)的時(shí)間to,終點(diǎn)坐標(biāo)(XI,yi)、放開(kāi)終點(diǎn)坐標(biāo)時(shí)的時(shí)間ti,并計(jì)算時(shí)間差t(t = t1-to),此時(shí)滑動(dòng)坐標(biāo)可以被映射為:滑動(dòng)I Xo I yo I Xi I yi 11。如圖4中所示該滑動(dòng)操作對(duì)應(yīng)的測(cè)試腳本被記錄為滑動(dòng)I坐標(biāo)I 974 11038 I 403 11087 | 700。
[0047]“打開(kāi)”對(duì)象分為以下兩種:打開(kāi)應(yīng)用程序:打開(kāi)I程序名稱。例如,打開(kāi)I聯(lián)系人;打開(kāi)狀態(tài)欄:打開(kāi)I狀態(tài)欄。
[0048]“截屏”操作可以分為以下兩種:無(wú)備注的截屏方式:例如,截屏;添加備注的截屏方式:例:截屏I備注內(nèi)容。
[0049]“等待”操作:當(dāng)測(cè)試者輸入兩個(gè)操作事件之間的時(shí)間間隔超過(guò)預(yù)定時(shí)間值時(shí)(一般為1000毫秒),通常認(rèn)為其所輸入的事件為等待事件,記錄該操作事件的參數(shù):輸入兩個(gè)操作事件之間的等待時(shí)間,接著映射為測(cè)試命令“等待I等待時(shí)間”,例如,等待11000。
[0050]“輸入”操作:輸入I要輸入的文本I要輸入的位置。例如,要表示在屏幕坐標(biāo)點(diǎn)(100,300)的位置輸入“測(cè)試測(cè)試”四個(gè)字,可以表示為:輸入I測(cè)試測(cè)試1100 I 300。
[0051](2)控制語(yǔ)句,用來(lái)控制動(dòng)作,包括:循環(huán)、外循環(huán)、內(nèi)循環(huán)、等待消失、等待出現(xiàn)、異常中斷等操作動(dòng)作。
[0052]其中,“循環(huán)”操作是控制整個(gè)語(yǔ)句中的循環(huán)情況,通過(guò)循環(huán)語(yǔ)句可以定義測(cè)試文本中的測(cè)試運(yùn)行參數(shù)。例如,循環(huán)110{截屏}表示連續(xù)10次截屏?!巴庋h(huán)”是指控制整條Case的外循環(huán)。一般在一個(gè)測(cè)試腳本中僅出現(xiàn)I次,建議放于首行。例如,外循環(huán)I 2。“內(nèi)循環(huán)”是指控制部分Case步驟循環(huán),一般放在要循環(huán)步驟之前,在一個(gè)測(cè)試腳本中可出現(xiàn)多次,但不可嵌套循環(huán)。并且需明確指定該語(yǔ)句之后的幾行以及循環(huán)次數(shù)。例如,內(nèi)循環(huán)I 3 I 2表示將該語(yǔ)句之后的3行語(yǔ)句循環(huán)2次。
[0053]“等待出現(xiàn)”指在某一段特定的時(shí)間內(nèi),等待某一個(gè)文本對(duì)象出現(xiàn)后進(jìn)行下一個(gè)操作。例如,等待出現(xiàn)I文本I設(shè)置I表示當(dāng)文本出現(xiàn)時(shí),進(jìn)行設(shè)置。
[0054]“等待消失”指在某一段特定的時(shí)間內(nèi),等待某一個(gè)文本對(duì)象消失后進(jìn)行下一個(gè)操作。例如,等待消失I文本I設(shè)置I表示當(dāng)文本對(duì)象結(jié)束后,進(jìn)行設(shè)置。
[0055]“異常中斷”指當(dāng)測(cè)試腳本拋出異常,如點(diǎn)擊了不存在的對(duì)象、或者發(fā)生錯(cuò)誤,如驗(yàn)證某個(gè)對(duì)象存在時(shí),設(shè)定是否中斷當(dāng)前Case。默認(rèn)為不中斷。例如,異常中斷I是。
[0056](3)驗(yàn)證語(yǔ)句,用來(lái)進(jìn)行結(jié)果判斷,來(lái)判斷執(zhí)行測(cè)試結(jié)果。在測(cè)試中,常會(huì)進(jìn)行一些驗(yàn)證操作,判斷某種情況或狀態(tài)是否存在,此時(shí)就需要引入驗(yàn)證語(yǔ)句。包括如下兩種:驗(yàn)證存在,例如存在文本對(duì)象,驗(yàn)證存在I文本I設(shè)置;驗(yàn)證不存在,例如不存在文本對(duì)象,驗(yàn)證不存在I文本I設(shè)置。
[0057](4)語(yǔ)句分隔修飾符,用諸如等符號(hào)來(lái)斷句。例如,“I”用來(lái)分割動(dòng)作與動(dòng)作對(duì)象、控制與控制對(duì)象、斷言與斷言對(duì)象;用來(lái)注釋文本;“U”用來(lái)控制循環(huán)部分,{}內(nèi)的語(yǔ)句將循環(huán)執(zhí)行;“(),,用來(lái)修飾對(duì)象,如坐標(biāo)(100,100); “,”用來(lái)分割對(duì)象。
[0058]顯然地,測(cè)試腳本中的測(cè)試命令表示為具有固定格式的文本語(yǔ)言,因而大大降低了用戶理解和修改測(cè)試腳本的難度,給用戶帶來(lái)極大便利。
[0059]隨后,在步驟S240中,將測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行該測(cè)試腳本。具體地,在發(fā)送測(cè)試腳本時(shí),還會(huì)發(fā)送一個(gè)測(cè)試的執(zhí)行指令,移動(dòng)終端根據(jù)該指令開(kāi)始執(zhí)行測(cè)試腳本,并生成相應(yīng)的測(cè)試報(bào)告。其中,運(yùn)行測(cè)試腳本的步驟可以包括:讀取測(cè)試腳本中起始的一個(gè)測(cè)試命令,執(zhí)行一個(gè)測(cè)試命令,接著對(duì)測(cè)試腳本中后續(xù)的測(cè)試命令重復(fù)上述讀取和執(zhí)行的步驟。此外,生成的腳本還會(huì)自動(dòng)保存在計(jì)算設(shè)備端的文件中。例如,可以將錄制的測(cè)試腳本以測(cè)試者所輸入的測(cè)試腳本名稱為文件名,存儲(chǔ)至計(jì)算設(shè)備的文件中。其中,存儲(chǔ)的測(cè)試腳本可以為txt格式文件。
[0060]此外,還可以在腳本運(yùn)行結(jié)束后,生成運(yùn)行報(bào)告,該運(yùn)行報(bào)告包括運(yùn)行的腳本名稱、腳本運(yùn)行的起始和結(jié)束時(shí)間、以及腳本運(yùn)行中各測(cè)試命令的執(zhí)行時(shí)間和內(nèi)容。然后可以根據(jù)該運(yùn)行報(bào)告生成測(cè)試報(bào)告,測(cè)試報(bào)告包括運(yùn)行的腳本名稱和腳本內(nèi)容、腳本運(yùn)行的次數(shù)、腳本運(yùn)行的時(shí)長(zhǎng)、圖片對(duì)比的次數(shù)、以及上述測(cè)試結(jié)果。
[0061]根據(jù)一個(gè)實(shí)施例,本發(fā)明還可以響應(yīng)于測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取所述事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中;并根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成與之對(duì)應(yīng)的自動(dòng)化測(cè)試腳本。相對(duì)應(yīng)地,可以在二級(jí)輸入框選擇各項(xiàng)事件動(dòng)作的對(duì)象,也即在對(duì)象/選項(xiàng)中自動(dòng)過(guò)濾出與操作類(lèi)型符合的元素。過(guò)濾的原理為:將所有可能出現(xiàn)的對(duì)象/選項(xiàng)放置在一個(gè)列表中。此外,在部分需要輸入坐標(biāo)的操作時(shí),坐標(biāo)輸入框?qū)⒆詣?dòng)亮起,反之則自動(dòng)置灰,并且為不可編輯狀態(tài),從而達(dá)到過(guò)濾和降低腳本錯(cuò)誤的效果。同理,二級(jí)操作選擇后,三級(jí)操作也將被逐級(jí)過(guò)濾。
[0062]具體地,根據(jù)之前所述的操作語(yǔ)句、控制語(yǔ)句和驗(yàn)證語(yǔ)句這三種預(yù)定文本規(guī)則,可以將事件動(dòng)作可以分為操作事件、控制事件和驗(yàn)證事件三個(gè)部分,相應(yīng)地一級(jí)輸入框中可以分為操作欄、控制欄和驗(yàn)證欄三部分。其中操作欄的下拉菜單中可以選擇“點(diǎn)擊”、“打開(kāi)”、“搜索點(diǎn)擊”、“長(zhǎng)按”、“滑動(dòng)”、“輸入”、“截屏”和“退出”等操作動(dòng)作??刂茩诳梢园ā把h(huán)”、“外循環(huán)”、“內(nèi)循環(huán)”、“等待消失”、“等待出現(xiàn)”、“異常操作”等操作動(dòng)作。同理,驗(yàn)證欄的下拉菜單可以選擇驗(yàn)證“存在”和驗(yàn)證“不存在”兩種。
[0063]例如:“點(diǎn)擊I按鍵IHOME”,倘若分為三個(gè)級(jí)別,若在一級(jí)輸入框中選擇“點(diǎn)擊”,則在二級(jí)輸入框中只顯示“屏幕坐標(biāo)”、“物理按鍵”、“文本對(duì)象”等選項(xiàng),而不會(huì)出現(xiàn)“應(yīng)用”、“狀態(tài)欄”等無(wú)效的操作。二級(jí)輸入框點(diǎn)擊“按鍵”后,三級(jí)輸入框只會(huì)顯示HOME、MENU、BACK、CAMERA、P0WER(滅屏/亮屏)、V0LUME_UP、V0LUME_D0WN等按鍵。應(yīng)當(dāng)注意,本發(fā)明在生成測(cè)試命令文本時(shí),語(yǔ)句分隔修飾符可以自動(dòng)鍵入,而不用進(jìn)行人工輸入,從而降低了腳本的錯(cuò)誤率。如測(cè)試人員在一級(jí)輸入框選擇“點(diǎn)擊”后,就會(huì)自動(dòng)地在右側(cè)腳本生成區(qū)生成“點(diǎn)擊I ”字樣;當(dāng)在二級(jí)選擇“按鍵”后,相應(yīng)腳本變?yōu)椤包c(diǎn)擊I按鍵I ” ;當(dāng)在三級(jí)選擇“HOME”后,則會(huì)變?yōu)椤包c(diǎn)擊I按鍵I HOME”。當(dāng)然,也可以在全部選擇或輸入都完成后,一次性的生成測(cè)試命令文本,并將其展示在腳本編輯器中,本發(fā)明對(duì)其顯示方式不作限制。
[0064]根據(jù)一個(gè)實(shí)施例,還可以通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出最終生成的測(cè)試腳本。其中可視化按鈕包括:插入一個(gè)步驟、刪除上一個(gè)步驟、清空所有步驟導(dǎo)入腳本、導(dǎo)出腳本、手機(jī)錄制腳本以及PC端錄制腳本等功能按鈕,從而能夠方便快捷的實(shí)現(xiàn)腳本的快速生成。
[0065]在圖4中所示的腳本編輯器中,點(diǎn)擊“導(dǎo)入腳本”,可以直接導(dǎo)入PC端中存儲(chǔ)的已有腳本,然后對(duì)其進(jìn)行適配和編輯,明顯提高了腳本編寫(xiě)速度。
[0066]點(diǎn)擊“PC端錄制腳本”后,如前所述,測(cè)試人員在計(jì)算設(shè)備端演示某個(gè)操作動(dòng)作,就會(huì)自動(dòng)生成對(duì)應(yīng)的腳本,并發(fā)送到移動(dòng)終端使之根據(jù)其對(duì)應(yīng)的腳本指令執(zhí)行該事件動(dòng)作。
[0067]點(diǎn)擊“手機(jī)錄制腳本”后,測(cè)試人員在移動(dòng)終端演示某個(gè)操作動(dòng)作后,計(jì)算設(shè)備端就會(huì)生成對(duì)應(yīng)的測(cè)試腳本。具體地,測(cè)試者在移動(dòng)終端輸入某項(xiàng)動(dòng)作后,移動(dòng)終端首先確定接收到的輸入操作的類(lèi)型和參數(shù),如從A點(diǎn)坐標(biāo)到B點(diǎn)坐標(biāo)的滑動(dòng)。之后,根據(jù)該輸入操作,生成其對(duì)應(yīng)的測(cè)試腳本同步到計(jì)算設(shè)備端,并顯示到腳本編輯器的測(cè)試腳本生成區(qū)中。比如,在手機(jī)端點(diǎn)擊一下HOME鍵,計(jì)算設(shè)備端操作行的顯示欄部分就會(huì)顯示“點(diǎn)擊I按鍵HOME",從而明顯提高了測(cè)試效率。
[0068]需要說(shuō)明的是,在通過(guò)計(jì)算設(shè)備端端錄制、可視化按鈕及輸入框等多種快捷操作生成測(cè)試腳本時(shí),本發(fā)明還提供了手動(dòng)的編輯與修改功能,方便測(cè)試人員進(jìn)行腳本完善,這樣充分地將工具的快捷和人工的精準(zhǔn)結(jié)合起來(lái),提高了腳本編寫(xiě)的效率。另外,對(duì)于一些快捷操作部分,有時(shí)也需要進(jìn)行人工輸入。例如,點(diǎn)擊I文本IXXX,其中“點(diǎn)擊”、“文本”可以使用快捷鍵即可自動(dòng)生成,但“XXX”是動(dòng)態(tài)的不可預(yù)估的值,需要由測(cè)試人員自主鍵入。
[0069]此外,本發(fā)明除了能通過(guò)腳本編輯器中的“運(yùn)行”鍵隨時(shí)調(diào)試已生成的所有的測(cè)試步驟,以驗(yàn)證測(cè)試腳本的有效性外;還可以對(duì)每行的操作動(dòng)作進(jìn)行及時(shí)的調(diào)試,并在驗(yàn)證其有效性后再進(jìn)行下一行操作動(dòng)作的編寫(xiě)。其驗(yàn)證的原理為:自動(dòng)存儲(chǔ)當(dāng)前的一條操作為一個(gè)文件,并自動(dòng)將文件push到移動(dòng)終端,隨后使用Runtime.getRuntime.exec()的方法調(diào)起命令,使用中間件即jar包,執(zhí)行該測(cè)試步驟。而且,因?yàn)橐苿?dòng)終端的界面實(shí)時(shí)同步在計(jì)算設(shè)備端,所以測(cè)試人員可以在計(jì)算設(shè)備端中的腳本編輯器中直觀的觀察移動(dòng)終端的執(zhí)行情況,從而能夠及時(shí)判斷每一步測(cè)試腳本的正確性。
[0070]比如,#拍一張照片
[0071]點(diǎn)擊I按鍵I HOME
[0072]打開(kāi)I應(yīng)用I相機(jī)
[0073]點(diǎn)擊I文本I拍照
[0074]退出I應(yīng)用I相機(jī)
[0075]在開(kāi)啟“PC端錄制”功能后,腳本編輯器中的展示界面將實(shí)時(shí)同步顯示移動(dòng)終端的界面,在生成第一行的“點(diǎn)擊I按鍵I HOME”操作并點(diǎn)擊確定后,就會(huì)自動(dòng)的進(jìn)行調(diào)試操作,工具將讓移動(dòng)終端執(zhí)行該最新添加的指令,測(cè)試人員可以在PC端觀察該操作是否正確,進(jìn)而判斷腳本是否編寫(xiě)正確。若正確,則繼續(xù)生成第二步“打開(kāi)I應(yīng)用I相機(jī)”的操作,并即時(shí)在移動(dòng)終端進(jìn)行調(diào)試,以驗(yàn)證其有效性。這樣,通過(guò)每步操作的單個(gè)驗(yàn)證,明顯降低了最終腳本的錯(cuò)誤率,從而提高了自動(dòng)化測(cè)試的效率。
[0076]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的自動(dòng)化測(cè)試的裝置300的示意圖。該裝置布置于計(jì)算設(shè)備100上,如圖3所示,該裝置300包括:界面獲取模塊310、輸入操作確定模塊320、腳本生成模塊330和腳本發(fā)送模塊340。
[0077]界面獲取模塊310適于實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其動(dòng)態(tài)展示在計(jì)算設(shè)備的頁(yè)面中。腳本生成模塊320適于接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,確定該輸入操作的類(lèi)型和參數(shù)。腳本生成模塊330適于根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,并生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本。腳本發(fā)送模塊340適于將所述測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行所述測(cè)試腳本。
[0078]此外,腳本生成模塊還適于根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本,而計(jì)算設(shè)備中預(yù)先存儲(chǔ)有不同的測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。腳本發(fā)送模塊還適于向待測(cè)移動(dòng)終端發(fā)送腳本執(zhí)行指令,使之開(kāi)始執(zhí)行所述測(cè)試腳本。
[0079]根據(jù)一個(gè)實(shí)施例,該裝置還可以包括可視化按鈕編輯模塊,適于通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出最終生成的測(cè)試腳本。
[0080]根據(jù)另一個(gè)實(shí)施例,該裝置還可以包括輸入框編輯模塊,適于響應(yīng)測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取該事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中,以及根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成相應(yīng)的自動(dòng)化測(cè)試腳本。
[0081]此外,該裝置還可以包括腳本調(diào)試模塊,適于將單個(gè)或多個(gè)事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之開(kāi)始執(zhí)行相應(yīng)測(cè)試;以及在計(jì)算設(shè)備的界面截圖區(qū)域,判斷測(cè)試腳本是否執(zhí)行正確。這樣,不管是需要判斷單個(gè)操作、多個(gè)操作步驟甚至是完整的測(cè)試腳本,測(cè)試人員都可以在計(jì)算設(shè)備端實(shí)時(shí)的觀察移動(dòng)終端的測(cè)試過(guò)程,從而提高了自動(dòng)化測(cè)試的整體效率。
[0082]如上所述的事件動(dòng)作通常包括在待測(cè)移動(dòng)終端的點(diǎn)擊事件動(dòng)作、長(zhǎng)按事件動(dòng)作、滑動(dòng)事件動(dòng)作、打開(kāi)事件動(dòng)作中的至少一個(gè)。其中點(diǎn)擊事件動(dòng)作的對(duì)象包括屏幕坐標(biāo)、物理按鍵、文本對(duì)象;長(zhǎng)按事件動(dòng)作的對(duì)象包括屏幕坐標(biāo)和文本對(duì)象;滑動(dòng)事件動(dòng)作的對(duì)象包括屏幕坐標(biāo)和滑動(dòng)方向;打開(kāi)事件動(dòng)作的對(duì)象包括應(yīng)用程序和狀態(tài)欄。
[0083]根據(jù)本發(fā)明的自動(dòng)化測(cè)試裝置,其實(shí)施例和具體細(xì)節(jié)已在基于圖2和圖4的描述中詳細(xì)公開(kāi),在此不再贅述。
[0084]本發(fā)明還提供一種腳本編輯器,包括如上所述的自動(dòng)化測(cè)試裝置,其界面如圖4所示,具體包括移動(dòng)終端的界面展示區(qū)、測(cè)試命令文本生成區(qū)、以及快捷鍵操作區(qū)。
[0085]根據(jù)本發(fā)明的自動(dòng)化測(cè)試方案,可以實(shí)時(shí)同步移動(dòng)終端的UI界面,在計(jì)算設(shè)備端即可清楚的看到當(dāng)前移動(dòng)終端的UI界面,提高編寫(xiě)速度。同時(shí),可以使用鼠標(biāo)來(lái)操作該移動(dòng)終端,并且操作后會(huì)自動(dòng)生成對(duì)應(yīng)的自動(dòng)化腳本。
[0086]此外,測(cè)試人員可以簡(jiǎn)單的通過(guò)鼠標(biāo)/鍵盤(pán)操作,快速的生成腳本,而無(wú)需手動(dòng)鍵入分隔符,僅需要選擇對(duì)應(yīng)操作,并鍵入關(guān)鍵詞(如坐標(biāo)值、文本內(nèi)容),便可以輕松而快速的生成測(cè)試腳本。而且在選擇操作的過(guò)程中,工具在界面上的呈現(xiàn)通過(guò)逐級(jí)的歸類(lèi)過(guò)濾,減少了錯(cuò)誤腳本的生成。另外,還提供導(dǎo)入\導(dǎo)出腳本、一鍵調(diào)試的功能以及一些增刪改的快捷操作。
[0087]A8、如Al所述的自動(dòng)化測(cè)試方法,其中所述事件動(dòng)作包括在待測(cè)移動(dòng)終端的點(diǎn)擊事件動(dòng)作、長(zhǎng)按事件動(dòng)作、滑動(dòng)事件動(dòng)作、打開(kāi)事件動(dòng)作中的至少一個(gè)。
[0088]A9、如A3所述的自動(dòng)化測(cè)試方法,所述計(jì)算設(shè)備中存儲(chǔ)有腳本編輯器,適于展示所述獲取到的界面截圖、所述各級(jí)輸入框,以及所述可視化按鈕。
[0089]BI 1、如BlO所述的自動(dòng)化測(cè)試裝置,還包括:
[0090]可視化按鈕編輯模塊,適于通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出所述生成的測(cè)試腳本。
[0091]BI 2、如BI I所述的自動(dòng)化測(cè)試裝置,還包括:
[0092]輸入框編輯模塊,適于響應(yīng)于測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取所述事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中;以及
[0093]根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成相應(yīng)的測(cè)試腳本。
[0094]BI3、如BlO中所述的自動(dòng)化測(cè)試裝置,還包括:
[0095]腳本調(diào)試模塊,適于將所述單個(gè)或多個(gè)事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之開(kāi)始執(zhí)行相應(yīng)測(cè)試;以及
[0096]在所述計(jì)算設(shè)備的界面截圖區(qū)域,判斷所述測(cè)試腳本是否執(zhí)行正確。
[0097]B14、如BlO所述的自動(dòng)化測(cè)試裝置,其中所述腳本生成模塊還適于根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本,其中計(jì)算設(shè)備中預(yù)先存儲(chǔ)有所述測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。
[0098]B15、如BlO所述的自動(dòng)化測(cè)試裝置,其中所述腳本發(fā)送模塊還適于向待測(cè)移動(dòng)終端發(fā)送腳本執(zhí)行指令,使之開(kāi)始執(zhí)行所述測(cè)試腳本。
[00"] B16、如BlO所述的自動(dòng)化測(cè)試裝置,其中所述事件動(dòng)作包括點(diǎn)擊事件動(dòng)作、長(zhǎng)按事件動(dòng)作、滑動(dòng)事件動(dòng)作、打開(kāi)事件動(dòng)作中的至少一個(gè)。
[0100]應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0101]本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開(kāi)的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
[0102]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0103]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0104]此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
[0105]如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來(lái)描述普通對(duì)象僅僅表示涉及類(lèi)似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
[0106]盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說(shuō)明書(shū)中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書(shū)的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開(kāi)是說(shuō)明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書(shū)限定。
【主權(quán)項(xiàng)】
1.一種自動(dòng)化測(cè)試方法,適于在計(jì)算設(shè)備中執(zhí)行,該方法包括: 實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其動(dòng)態(tài)展示在所述計(jì)算設(shè)備的展示頁(yè)面中; 接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作; 確定所述輸入操作的類(lèi)型和參數(shù); 根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作; 生成所述事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本; 將所述測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行該測(cè)試腳本。2.如權(quán)利要求1所述的自動(dòng)化測(cè)試方法,還包括: 通過(guò)可視化按鈕的形式插入或刪除一個(gè)事件動(dòng)作及其腳本、導(dǎo)入已有的測(cè)試腳本,以及導(dǎo)出最終生成的測(cè)試腳本。3.如權(quán)利要求2所述的自動(dòng)化測(cè)試方法,還包括: 響應(yīng)于測(cè)試者在一級(jí)輸入框中所選擇的事件動(dòng)作,從測(cè)試用例庫(kù)中提取所述事件動(dòng)作的對(duì)象,并將其展現(xiàn)在二級(jí)輸入框的下拉菜單中;以及 根據(jù)測(cè)試者在各級(jí)輸入框中的選擇,生成與之對(duì)應(yīng)的自動(dòng)化測(cè)試腳本。4.如權(quán)利要求1所述的自動(dòng)化測(cè)試方法,還包括: 將所述單個(gè)或多個(gè)事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之開(kāi)始執(zhí)行相應(yīng)測(cè)試;以及 在所述計(jì)算設(shè)備的界面截圖區(qū)域,判斷所述測(cè)試腳本是否執(zhí)行正確。5.如權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其中所述生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本的步驟還包括: 根據(jù)預(yù)定文本規(guī)則生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試命令文本, 其中計(jì)算設(shè)備中預(yù)先存儲(chǔ)有所述測(cè)試命令文本所對(duì)應(yīng)的測(cè)試腳本。6.如權(quán)利要求2所述的自動(dòng)化測(cè)試方法,還包括: 向待測(cè)移動(dòng)終端發(fā)送腳本錄制指令; 接收測(cè)試者在移動(dòng)終端中所進(jìn)行的輸入操作,確定該輸入操作的參數(shù)和類(lèi)型; 根據(jù)接收到的輸入操作的參數(shù)和類(lèi)型,生成其對(duì)應(yīng)的測(cè)試腳本。7.如權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其中所述將測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行該測(cè)試腳本的步驟還包括: 向待測(cè)移動(dòng)終端發(fā)送腳本執(zhí)行指令,使之開(kāi)始執(zhí)行所述測(cè)試腳本。8.—種自動(dòng)化測(cè)試裝置,適于駐留在計(jì)算設(shè)備中,該裝置包括: 界面獲取模塊,適于實(shí)時(shí)獲取待測(cè)移動(dòng)終端的界面截圖,并將其動(dòng)態(tài)展示在所述計(jì)算設(shè)備的頁(yè)面中; 輸入操作確定模塊,適于接收測(cè)試者通過(guò)鼠標(biāo)或按鍵在界面截圖區(qū)域的輸入操作,并確定該輸入操作的類(lèi)型和參數(shù); 腳本生成模塊,適于根據(jù)移動(dòng)終端觸摸屏的輸入檢測(cè)規(guī)則以及接收到的輸入操作的類(lèi)型和參數(shù),確定該輸入操作所模擬的事件動(dòng)作,并生成該事件動(dòng)作所對(duì)應(yīng)的測(cè)試腳本;腳本發(fā)送模塊,適于將所述測(cè)試腳本發(fā)送到待測(cè)移動(dòng)終端,并使之同步執(zhí)行所述測(cè)試腳本。9.一種腳本編輯器,包括如權(quán)利要求8所述的自動(dòng)化測(cè)試裝置,適于展示所述獲取到的界面截圖、所述生成的測(cè)試命令文本、所述各級(jí)輸入框,以及所述可視化按鈕。10.—種計(jì)算設(shè)備,包括如權(quán)利要求9所述的腳本編輯器。
【文檔編號(hào)】G06F11/36GK105843734SQ201610155897
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年3月18日
【發(fā)明人】黃志坤
【申請(qǐng)人】廈門(mén)美圖移動(dòng)科技有限公司