一種基于文本執(zhí)行自動化測試的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動終端的應(yīng)用技術(shù)領(lǐng)域,尤其涉及移動終端的自動化測試方法。
【背景技術(shù)】
[0002]針對移動終端的測試,無論是Android還是10S,其自動化測試越來越多,如性能測試、壓力測試、回歸測試等,并且測試的效率也越來越高。同時,又存在自動化測試成本高的問題?,F(xiàn)有的自動化測試無論是腳本編寫還是執(zhí)行測試,都需要搭建開發(fā)環(huán)境,掌握編程語言甚至于了解移動終端應(yīng)用的結(jié)構(gòu),再通過編寫代碼腳本的形式來實現(xiàn)自動化測試。
[0003]常用的自動化工具,Android的有 Robotium、Uiautomator、MonkeyRunner、Appium等,1S的有Uiautomat1n等,這些工具的使用都需要使用像Eclipse的開發(fā)工具,并需要掌握多種編程語言。例如,在使用Uiautomator對Android APP進行UI自動化測試的時候,
需要先搭建Android開發(fā)環(huán)境--安裝JDK,Eclips, Android SDK,需要熟練掌握Eclips
的使用,對開發(fā)環(huán)境熟悉,同時知曉Java語言的編程方法,然后了解Uiautomator里面復(fù)雜的API,根據(jù)這些API來完成自動化測試的代碼編寫,從而完成諸如拍照、撥打電話等等UI的測試。這種技術(shù)方案對測試人員的要求非常高,成本大。
[0004]因此,如何降低自動化測試的成本、提高測試效率是目前值得關(guān)注的問題,以便讓自動化測試變得更加簡單便捷、大眾化。
【發(fā)明內(nèi)容】
[0005]為此,本發(fā)明提供一種基于文本執(zhí)行自動化測試的方法及裝置,以力圖解決或者至少緩解上面存在的至少一個問題。
[0006]根據(jù)本發(fā)明的一個方面,提供了一種基于文本執(zhí)行自動化測試的方法,方法包括步驟:根據(jù)預(yù)定文本規(guī)則編寫測試步驟并保存為測試文本;啟動測試,通過調(diào)用中間件解析測試文本,得到測試腳本;逐句解析測試腳本,得到與測試腳本對應(yīng)的驅(qū)動層命令;以及將驅(qū)動層命令傳輸?shù)津?qū)動層執(zhí)行,執(zhí)行完畢后輸出相應(yīng)的測試結(jié)果;其中,中間件是布置在移動終端應(yīng)用中的可執(zhí)行的jar文件。
[0007]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的方法中,預(yù)定文本規(guī)則包括根據(jù)操作動作預(yù)定義的動作語句、控制語句、斷言語句、語句分隔符。
[0008]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的方法中,啟動測試、通過中間件解析測試文本的步驟還包括步驟:將中間件導(dǎo)出至指定目錄。
[0009]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的方法中,通過中間件解析測試文本的步驟還包括:執(zhí)行shell命令調(diào)用所述中間件,識別測試文本中的操作動作;將所識別的操作動作解析成腳本語言,得到測試腳本。
[0010]根據(jù)本發(fā)明的另一方面,提供了一種移動終端的基于文本執(zhí)行自動化測試的裝置,裝置包括:輸入/輸出接口,適于接收根據(jù)預(yù)定文本規(guī)則編寫測試步驟的測試文本、還適于在驅(qū)動層命令執(zhí)行完畢時輸出測試報告;解析單元,適于解析測試文本,得到測試腳本、還適于逐句解析所述測試腳本,得到與測試腳本對應(yīng)的驅(qū)動層命令;以及驅(qū)動單元,適于執(zhí)行驅(qū)動層命令;其中,解析單元包括可執(zhí)行的jar文件。
[0011]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的裝置中,預(yù)定文本規(guī)則包括根據(jù)操作動作預(yù)定義的動作語句、控制語句、斷言語句、語句分隔符。
[0012]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的裝置中,解析單元還適于將jar文件導(dǎo)出至指定目錄。
[0013]可選地,在根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的裝置中,解析單元還適于:執(zhí)行shell命令,調(diào)用所述jar文件識別測試文本中的操作動作;執(zhí)行jar文件將所識別的操作動作解析成腳本語言,得到測試腳本。
[0014]根據(jù)本發(fā)明的另一方面,提供了一種移動終端,具有如上所述的基于文本執(zhí)行自動化測試裝置。
[0015]根據(jù)本發(fā)明的基于文本執(zhí)行自動化測試的方案,測試人員只需要根據(jù)預(yù)定文本規(guī)則編寫測試文本,不用掌握編程語言和代碼管理技能;另外,進行自動化測試也不用搭建復(fù)雜的開發(fā)環(huán)境。從另一個角度,本方案沒有延續(xù)傳統(tǒng)的由PC驅(qū)動移動終端進行自動化測試的模式,充分利用移動終端獨立性和便攜性的特點,使得移動終端的自動化測試更易展開。
[0016]綜上,本方案降低了移動終端的自動化測試的測試成本,并且提高了自動化測試的效率,使得自動化測試更加簡單便捷、大眾化。
【附圖說明】
[0017]為了實現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的部件或元素。
[0018]圖1示出了根據(jù)本發(fā)明的一個示例性實施方式的移動終端100的構(gòu)造框圖;
[0019]圖2示出了根據(jù)本發(fā)明一個實施例的基于文本執(zhí)行自動化測試的方法200的流程圖;
[0020]圖3示出了根據(jù)本發(fā)明一個實施例的基于文本執(zhí)行自動化測試的裝置300的示意圖;以及
[0021]圖4示出了根據(jù)本發(fā)明一個實施例的測試文本的示意圖。
【具體實施方式】
[0022]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0023]圖1為根據(jù)本發(fā)明的一個實施方式的移動終端100構(gòu)造示意圖。參照圖1,移動終端100包括:存儲器接口 102、一個或多個數(shù)據(jù)處理器、圖像處理器和/或中央處理單元104,以及外圍接口 106。存儲器接口 102、一個或多個處理器104和/或外圍接口 106既可以是分立元件,也可以集成在一個或多個集成電路中。在移動終端100中,各種元件可以通過一條或多條通信總線或信號線來耦合。傳感器、設(shè)備和子系統(tǒng)可以耦合到外圍接口 106,以便幫助實現(xiàn)多種功能。例如,運動傳感器110、光傳感器112和距離傳感器114可以耦合到外圍接口 106,以方便定向、照明和測距等功能。其他傳感器116同樣可以與外圍接口 106相連,例如定位系統(tǒng)(例如GPS接收機)、溫度傳感器、生物測定傳感器或其他感測設(shè)備,由此可以幫助實施相關(guān)的功能。
[0024]相機子系統(tǒng)120和光學(xué)傳感器122可以用于方便諸如記錄照片和視頻剪輯的相機功能的實現(xiàn),其中所述相機子系統(tǒng)和光學(xué)傳感器例如可以是電荷耦合器件(CCD)或互補金屬氧化物半導(dǎo)體(CMOS)光學(xué)傳感器??梢酝ㄟ^一個或多個無線通信子系統(tǒng)124來幫助實現(xiàn)通信功能,其中無線通信子系統(tǒng)可以包括射頻接收機和發(fā)射機和/或光(例如紅外)接收機和發(fā)射機。無線通信子系統(tǒng)124的特定設(shè)計和實施方式可以取決于移動終端100所支持的一個或多個通信網(wǎng)絡(luò)。例如,移動終端100可以包括被設(shè)計成支持GSM網(wǎng)絡(luò)、GPRS網(wǎng)絡(luò)、EDGE網(wǎng)絡(luò)、W1-Fi或WiMax網(wǎng)絡(luò)以及BlueboothTM網(wǎng)絡(luò)的通信子系統(tǒng)124。音頻子系統(tǒng)126可以與揚聲器128以及麥克風130相耦合,以便幫助實施啟用語音的功能,例如語音識別、語音復(fù)制、數(shù)字記錄和電話功能。
[0025]I/O子系統(tǒng)140可以包括觸摸屏控制器142和/或一個或多個其他輸入控制器144。觸摸屏控制器142可以耦合到觸摸屏146。舉例來說,該觸摸屏146和觸摸屏控制器142可以使用多種觸摸感測技術(shù)中的任何一種來檢測與之進行的接觸和移動或是暫停,其中感測技術(shù)包括但不局限于電容性、電阻性、紅外和表面聲波技術(shù)。一個或多個其他輸入控制器144可以耦合到其他輸入/控制設(shè)備148,例如一個或多個按鈕、搖桿開關(guān)、拇指旋輪、紅外端口、USB端口、和/或指示筆之類的指點設(shè)備。所述一個或多個按鈕(未顯示)可以包括用于控制揚聲器128和/或麥克風130音量的向上/向下按鈕。
[0026]存儲器