一種可視化Monkey測(cè)試方法及裝置制造方法
【專利摘要】本發(fā)明提供一種可視化Monkey測(cè)試方法及裝置,所述可視化Monkey測(cè)試方法包括:提供圖形界面以設(shè)置Monkey測(cè)試信息;檢測(cè)所述Monkey測(cè)試信息的有效性;并在所述Monkey測(cè)試信息有效時(shí)根據(jù)所述Monkey測(cè)試信息生成對(duì)應(yīng)的批處理文件;并執(zhí)行所述批處理文件測(cè)試。所述可視化Monkey測(cè)試的裝置包括測(cè)試信息設(shè)置模塊,測(cè)試信息檢測(cè)模塊,測(cè)試批命令生成模塊,測(cè)試執(zhí)行模塊。本發(fā)明具有以下有益效果:實(shí)現(xiàn)了Monkey指令窗口化,方便人員的操作讀寫;同時(shí)實(shí)現(xiàn)了Monkey指令的自動(dòng)執(zhí)行,優(yōu)化了Monkey測(cè)試的流程,節(jié)約人力成本。
【專利說明】—種可視化Monkey測(cè)試方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種測(cè)試領(lǐng)域,特別是涉及一種可視化Monkey測(cè)試方法及裝置。
【背景技術(shù)】
[0002]Monkey是Android中的一個(gè)命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢(shì)輸入等),實(shí)現(xiàn)對(duì)正在開發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試。Monkey測(cè)試是一種為了測(cè)試軟件的穩(wěn)定性、健壯性的快速有效的方法。
[0003]由于Monkey是一個(gè)命令行工具,因此使用Monkey測(cè)試上手有一定難度。通常在手機(jī)上進(jìn)行常Monkey測(cè)試需要在cmd命令行輸入完整的運(yùn)行指令,若需要單獨(dú)對(duì)一個(gè)或者幾個(gè)軟件包進(jìn)行測(cè)試中,則需要額外編寫的包名指令,指令非常繁瑣,且無法同步保存log。如遇到異常退出則需要執(zhí)行人自行截取log和重啟monkey測(cè)試。為了實(shí)現(xiàn)測(cè)試的自動(dòng)化,通??梢詫onkey指令寫成批處理文件來執(zhí)行,但這種做法仍然存在如下問題:批處理文件對(duì)循環(huán)語句處理困難,無法深入定制循環(huán)的過程;而且在測(cè)試過程中仍然需要人為干預(yù)無法實(shí)現(xiàn)每次自動(dòng)執(zhí)行。使用批處理文件的界面也不夠直觀,用戶使用起來不是很方便。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種可視化Monkey測(cè)試方法及裝置,用于解決現(xiàn)有技術(shù)中Monkey測(cè)試不夠直觀,指令繁瑣和無法自動(dòng)處理異常的問題。
[0005]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種可視化Monkey測(cè)試方法,所述可視化Monkey測(cè)試方法包括:提供圖形界面以設(shè)置Monkey測(cè)試信息;檢測(cè)所述Monkey測(cè)試信息的有效性;當(dāng)所述Monkey測(cè)試信息有效時(shí),根據(jù)所述Monkey測(cè)試信息生成對(duì)應(yīng)的批處理文件;執(zhí)行所述批處理文件測(cè)試。
[0006]優(yōu)選地,所述Monkey測(cè)試信息包括待測(cè)試APK包名,所述設(shè)置待測(cè)試的APK包名包括:在所述圖形界面顯示常用的APK包名中選擇待測(cè)試APK包名、以及輸入待測(cè)試APK包名的至少一種或組合;所述可視化Monkey測(cè)試方法還包括:在對(duì)待測(cè)試APK包名不作任何選擇或輸入設(shè)置時(shí),將所述移動(dòng)終端中所有的APK包名作為所述待測(cè)試APK包名。
[0007]優(yōu)選地,所述Monkey測(cè)試信息還包括測(cè)試次數(shù)和/或延遲時(shí)間,所述檢測(cè)所述Monkey測(cè)試信息的有效性還包括檢測(cè)測(cè)試次數(shù)和/或延遲時(shí)間的有效性。
[0008]優(yōu)選地,所述Monkey測(cè)試信息還包括測(cè)試循環(huán)次數(shù);所述檢測(cè)所述Monkey測(cè)試信息的有效性還包括:檢測(cè)測(cè)試循環(huán)次數(shù)的有效性;所述執(zhí)行所述批處理文件測(cè)試的次數(shù)與所述測(cè)試循環(huán)次數(shù)相同。
[0009]優(yōu)選地,還包括:當(dāng)執(zhí)行所述批處理文件測(cè)試進(jìn)行測(cè)試時(shí)出現(xiàn)異常,將測(cè)試產(chǎn)生的log文件保存到預(yù)設(shè)路徑;繼續(xù)執(zhí)行所述測(cè)試。
[0010]本發(fā)明還提供一種可視化Monkey測(cè)試的裝置,所述可視化Monkey測(cè)試的裝置包括測(cè)試信息設(shè)置模塊,測(cè)試信息檢測(cè)模塊,測(cè)試批命令生成模塊和測(cè)試執(zhí)行模塊;所述測(cè)試信息設(shè)置模塊用于設(shè)置Monkey測(cè)試信息;所述測(cè)試信息檢測(cè)模塊用于檢測(cè)所述測(cè)試信息的有效性;測(cè)試批命令生成模塊用于根據(jù)測(cè)試信息生成測(cè)試批命令;所述測(cè)試執(zhí)行模塊用于執(zhí)行所述測(cè)試批命令。
[0011]優(yōu)選地,所述測(cè)試信息設(shè)置模塊對(duì)所述待測(cè)試APK包名的設(shè)置包括:在所述圖形界面顯示常用的APK包名中選擇待測(cè)試APK包名、以及輸入待測(cè)試APK包名的至少一種或組合;所述測(cè)試信息設(shè)置模塊對(duì)所述待測(cè)試APK包名的設(shè)置還包括:在對(duì)待測(cè)試APK包名不作任何選擇或輸入設(shè)置時(shí),將所述移動(dòng)終端中所有的APK包名作為所述待測(cè)試APK包名。
[0012]優(yōu)選地,所述測(cè)試信息設(shè)置模塊還包括設(shè)置測(cè)試次數(shù)和/或延遲時(shí)間,所述測(cè)試信息檢測(cè)模塊還用于檢測(cè)測(cè)試次數(shù)和/或延遲時(shí)間的有效性。
[0013]優(yōu)選地,所述測(cè)試信息設(shè)置模塊還包括設(shè)置測(cè)試循環(huán)次數(shù),所述測(cè)試信息檢測(cè)模塊還用于檢測(cè)測(cè)試循環(huán)次數(shù)的有效性,所述測(cè)試執(zhí)行模塊執(zhí)行所述測(cè)試批命令的次數(shù)與所述測(cè)試循環(huán)次數(shù)相同。
[0014]優(yōu)選地,所述測(cè)試執(zhí)行模塊還用于在測(cè)試運(yùn)行出現(xiàn)異常時(shí),將測(cè)試產(chǎn)生的log文件保存到預(yù)設(shè)路徑。
[0015]如上所述,本發(fā)明的一種可視化Monkey測(cè)試方法及裝置,具有以下有益效果:實(shí)現(xiàn)了 Monkey指令窗口化,方便人員的操作讀寫;同時(shí)實(shí)現(xiàn)了 Monkey指令的自動(dòng)執(zhí)行,優(yōu)化了 Monkey測(cè)試的流程,節(jié)約人力成本。
【專利附圖】
【附圖說明】
[0016]圖1顯示為本發(fā)明的一種可視化Monkey測(cè)試方法的一實(shí)施例的流程示意圖。
[0017]圖2顯示為本發(fā)明的一種可視化Monkey測(cè)試方法的一實(shí)施例的流程示意圖。
[0018]圖3顯示為本發(fā)明的一種可視化Monkey測(cè)試裝置的模塊結(jié)構(gòu)示意圖。
[0019]圖4顯示為本發(fā)明的一種可視化Monkey測(cè)試裝置的界面示意圖。
[0020]元件標(biāo)號(hào)說明
[0021]11 測(cè)試信息設(shè)置模塊
[0022]12 測(cè)試信息檢測(cè)模塊
[0023]13 測(cè)試批命令生成模塊
[0024]14 測(cè)試執(zhí)行模塊
[0025]SI ?S4 步驟
【具體實(shí)施方式】
[0026]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0027]需要說明的是,本實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0028]如圖1所示,本發(fā)明提供一種可視化Monkey測(cè)試方法,應(yīng)用于移動(dòng)終端的Monkey測(cè)試。所述可視化Monkey測(cè)試方法的一個(gè)具體實(shí)施例中包括以下步驟:
[0029]步驟SI,提供圖形界面以設(shè)置Monkey測(cè)試信息。具體地,在圖形界面上設(shè)置的Monkey測(cè)試信息包括測(cè)試次數(shù),延遲時(shí)間,測(cè)試循環(huán)次數(shù)。在不同的實(shí)施例中還可以只包括測(cè)試時(shí)間,延遲時(shí)間,測(cè)試循環(huán)次數(shù)中的任意一種或組合。Monkey測(cè)試信息包括待測(cè)試的APK包名,但所述待測(cè)試APK包名不一定需要在圖形界面中設(shè)置,如果所述待測(cè)試APK包名在圖形界面中沒有設(shè)置,則將待測(cè)試的移動(dòng)終端中所有的APK包名作為待測(cè)試APK包名。其中,待測(cè)試APK包是APK文件中的PackageName信息。在APK包中的AndroidManifest.xml文件里指定了 PackageName名稱。測(cè)試次數(shù)是指Monkey運(yùn)行的次數(shù);延遲時(shí)間是指每一次Monkey指令運(yùn)行時(shí)中間間隔的時(shí)間,以毫秒為單位。循環(huán)次數(shù)是指運(yùn)行根據(jù)所述Monkey測(cè)試信息生成對(duì)應(yīng)的批處理文件的次數(shù)。
[0030]在圖形界面中對(duì)待測(cè)試APK包名的設(shè)置包括兩種方式:一種方式是在窗口界面上的一定數(shù)量的供用戶選擇的APK包中選擇;另一種方式是當(dāng)窗口界面上供用戶選擇的APK包中沒有用戶待測(cè)試APK包名時(shí),用戶可以在手動(dòng)添加模塊手動(dòng)添加APK包名。在一個(gè)實(shí)施例中可采用第一種方式。在另一個(gè)實(shí)施例中可采用第二種方式。在另一個(gè)實(shí)施例中可以同時(shí)采用這兩種方式。如果用戶既沒有在窗口界面上的一定數(shù)量的供用戶選擇的APK包中選擇待測(cè)試APK包名,也沒有在手動(dòng)添加模塊手動(dòng)添加APK包名,則程序?qū)?huì)將待測(cè)試的移動(dòng)終端中所有的APK包名作為待測(cè)試APK包名。所述可視化Monkey測(cè)試方法還可以包括一種默認(rèn)的待測(cè)試APK包名的設(shè)置方式:在對(duì)待測(cè)試APK包名不作任何選擇或輸入設(shè)置時(shí),將所述移動(dòng)終端中所有的APK包名作為所述待測(cè)試APK包名。在不同的實(shí)施例中待測(cè)APK包名的選擇可以包括:在圖形界面中的兩種設(shè)置方式以及默認(rèn)的實(shí)施方式的任意組合。
[0031]窗口界面包括基于Java Swing編輯的窗口,參見圖4,在一個(gè)實(shí)例中,窗口界面上包括了 10個(gè)供用戶選擇的APK包,如果用戶待測(cè)試APK包就在這10個(gè)包中,則用戶可以直接選定待測(cè)試APK包如選擇短信com.android, mms。另一種情況是當(dāng)窗口界面上供用戶選擇的APK包中沒有用戶待測(cè)試APK包名時(shí),用戶可以手動(dòng)添加待測(cè)試APK包,采用“-P APK包名”的方式添加待測(cè)試APK包。用戶可以選擇一個(gè)APK包,也可以選擇多個(gè)APK包。
[0032]步驟S2,檢測(cè)所述Monkey測(cè)試信息的有效性。檢測(cè)所述Monkey測(cè)試信息的有效性包括檢測(cè)Monkey測(cè)試信息是否有效。具體地,在本實(shí)施例中包括檢測(cè)測(cè)試次數(shù),延遲時(shí)間,測(cè)試循環(huán)次數(shù)是否在系統(tǒng)設(shè)定的有效范圍之內(nèi)。其他實(shí)施例包括檢測(cè)測(cè)試次數(shù),延遲時(shí)間,測(cè)試循環(huán)次數(shù)中的任一種或組合是否在系統(tǒng)設(shè)定的有效范圍之內(nèi)。所述系統(tǒng)設(shè)定的有效范圍可以由系統(tǒng)默認(rèn)設(shè)置,也可以由用戶設(shè)置。在實(shí)施例中,可以設(shè)置測(cè)試次數(shù)為自然數(shù),循環(huán)次數(shù)為自然數(shù),延遲時(shí)間為自然數(shù)。檢測(cè)所述Monkey測(cè)試信息的有效性還可以包括檢測(cè)所述待測(cè)試APK包名是否有效;檢測(cè)待測(cè)試APK包名是否有效是指檢測(cè)要檢測(cè)的APK包名在系統(tǒng)是否存在對(duì)應(yīng)APK包名的APK文件。當(dāng)檢測(cè)到所述Monkey測(cè)試信息中有無效的情況時(shí),則系統(tǒng)將給出異常提示,要求重新設(shè)置Monkey測(cè)試信息。當(dāng)檢測(cè)到所述Monkey測(cè)試信息都有效時(shí),執(zhí)行步驟S3。
[0033]步驟S3,根據(jù)所述Monkey測(cè)試信息生成對(duì)應(yīng)的批處理文件。具體地,例如設(shè)置的Monkey測(cè)試信息如下:測(cè)試次數(shù)為1000次,循環(huán)次數(shù)為I次,延遲秒數(shù)為200秒,對(duì)應(yīng)模塊為com.android, mms。則生成的批處理命令的過程為:首先,將有效的包名整合為符合Monkey指令的格式字符串,并將所述格式字符串加入到Monkey指令中,生成的Monkey指令為:adb shell Monkey-p com.android.mms~v1000—throttle200。接著,生成對(duì)應(yīng)的批命
令處理文件(即批處理文件,通常為BAT文件),具體命令指令為:
[0034]
【權(quán)利要求】
1.一種可視化Monkey測(cè)試方法,應(yīng)用于移動(dòng)終端的Monkey測(cè)試,其特征在于,所述可視化Monkey測(cè)試方法包括: 提供圖形界面以設(shè)置Monkey測(cè)試信息; 檢測(cè)所述Monkey測(cè)試信息的有效性; 當(dāng)所述Monkey測(cè)試信息有效時(shí),根據(jù)所述Monkey測(cè)試信息生成對(duì)應(yīng)的批處理文件; 執(zhí)行所述批處理文件進(jìn)行測(cè)試。
2.根據(jù)權(quán)利要求1所述的可視化Monkey測(cè)試方法,其特征在于:所述Monkey測(cè)試信息包括待測(cè)試APK包名,所述設(shè)置待測(cè)試的APK包名包括:在所述圖形界面顯示常用的APK包名中選擇待測(cè)試APK包名、以及輸入待測(cè)試APK包名的至少一種或組合;所述可視化Monkey測(cè)試方法還包括:在對(duì)待測(cè)試APK包名不作任何選擇或輸入設(shè)置時(shí),將所述移動(dòng)終端中所有的APK包名作為所述待測(cè)試APK包名。
3.根據(jù)權(quán)利要求1所述的可視化Monkey測(cè)試方法,其特征在于:所述Monkey測(cè)試信息還包括測(cè)試次數(shù)和/或延遲時(shí)間,所述檢測(cè)所述Monkey測(cè)試信息的有效性還包括檢測(cè)測(cè)試次數(shù)和/或延遲時(shí)間的有效性。
4.根據(jù)權(quán)利要求1所述的可視化Monkey測(cè)試方法,其特征在于:所述Monkey測(cè)試信息還包括測(cè)試循環(huán)次數(shù);所述檢測(cè)所述Monkey測(cè)試信息的有效性還包括:檢測(cè)測(cè)試循環(huán)次數(shù)的有效性;所述執(zhí)行所述批處理文件測(cè)試的次數(shù)與所述測(cè)試循環(huán)次數(shù)相同。
5.根據(jù)權(quán)利要求1所述的可視化Monkey測(cè)試方法,其特征在于:還包括:當(dāng)執(zhí)行所述批處理文件測(cè)試進(jìn)行測(cè)試時(shí)出現(xiàn)異常,將測(cè)試產(chǎn)生的log文件保存到預(yù)設(shè)路徑;繼續(xù)執(zhí)行所述測(cè)試。
6.一種可視化Monkey測(cè)試的裝置,其特征在于:所述可視化Monkey測(cè)試的裝置包括測(cè)試信息設(shè)置模塊,測(cè)試信息檢測(cè)模塊,測(cè)試批命令生成模塊和測(cè)試執(zhí)行模塊;所述測(cè)試信息設(shè)置模塊用于設(shè)置Monkey測(cè)試信息;所述測(cè)試信息檢測(cè)模塊用于檢測(cè)所述測(cè)試信息的有效性;測(cè)試批命令生成模塊用于根據(jù)測(cè)試信息生成測(cè)試批命令;所述測(cè)試執(zhí)行模塊用于執(zhí)行所述測(cè)試批命令。
7.根據(jù)權(quán)利要求6所述的可視化Monkey測(cè)試的裝置,其特征在于:所述測(cè)試信息設(shè)置模塊對(duì)所述待測(cè)試APK包名的設(shè)置包括:在所述圖形界面顯示常用的APK包名中選擇待測(cè)試APK包名、以及輸入待測(cè)試APK包名的至少一種或組合;所述測(cè)試信息設(shè)置模塊對(duì)所述待測(cè)試APK包名的設(shè)置還包括:在對(duì)待測(cè)試APK包名不作任何選擇或輸入設(shè)置時(shí),將所述移動(dòng)終端中所有的APK包名作為所述待測(cè)試APK包名。
8.根據(jù)權(quán)利要求6所述的可視化Monkey測(cè)試的裝置,其特征在于:所述測(cè)試信息設(shè)置模塊還包括設(shè)置測(cè)試次數(shù)和/或延遲時(shí)間,所述測(cè)試信息檢測(cè)模塊還用于檢測(cè)測(cè)試次數(shù)和/或延遲時(shí)間的有效性。
9.根據(jù)權(quán)利要求6所述的可視化Monkey測(cè)試的裝置,其特征在于:所述測(cè)試信息設(shè)置模塊還包括設(shè)置測(cè)試循環(huán)次數(shù),所述測(cè)試信息檢測(cè)模塊還用于檢測(cè)測(cè)試循環(huán)次數(shù)的有效性,所述測(cè)試執(zhí)行模塊執(zhí)行所述測(cè)試批命令的次數(shù)與所述測(cè)試循環(huán)次數(shù)相同。
10.根據(jù)權(quán)利要求6所述的可視化Monkey測(cè)試的裝置,其特征在于:所述測(cè)試執(zhí)行模塊還用于在測(cè)試運(yùn)行出現(xiàn)異常時(shí),將測(cè)試產(chǎn)生的log文件保存到預(yù)設(shè)路徑。
【文檔編號(hào)】G06F11/36GK103942146SQ201410162987
【公開日】2014年7月23日 申請(qǐng)日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】陳瀟潞 申請(qǐng)人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司