一種應(yīng)用測試方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用測試方法和裝置。
【背景技術(shù)】
[0002]隨著電子終端新技術(shù)的不斷涌現(xiàn),基于業(yè)務(wù)應(yīng)用層面開發(fā)和測試比重的增加,復(fù)雜度的不斷提高以及基于電子終端的應(yīng)用服務(wù)的快速融合,使得電子終端上運行的應(yīng)用程序也越來越多,針對電子終端上的應(yīng)用程序測試的需求也應(yīng)運而生?,F(xiàn)有技術(shù)中存在多種可以自動對電子終端上的應(yīng)用程序進(jìn)行測試的方式,例如較為常用的Android操作系統(tǒng)自帶的Monkey測試工具,用戶可以通過將手機連接到電腦,通過電腦啟動Monkey測試。測試啟動后,Monkey通過向系統(tǒng)發(fā)送偽隨機的事件流,模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,實現(xiàn)對正在運行的應(yīng)用程序進(jìn)行壓力測試,看設(shè)備多長時間會出現(xiàn)異常,觀察終端以及應(yīng)用程序的穩(wěn)定性和容錯性能。
[0003]現(xiàn)有應(yīng)用程序的測試方式的缺陷在于:不支持應(yīng)用程序的自動登錄,即對于一些需要登錄的應(yīng)用程序,如即時通訊工具、SNS (Social Networking Services,即社會性網(wǎng)絡(luò)服務(wù))客戶端等,仍以使用Android操作系統(tǒng)自帶的Monkey測試工具進(jìn)行測試為例,由于無法實現(xiàn)應(yīng)用程序自動登錄,Monkey就會不斷地在登錄界面無意義地點來點去而無法實現(xiàn)自動登錄,無法真正的模擬到用戶的正常操作,進(jìn)而也無法得到終端以及應(yīng)用程序性能的準(zhǔn)確測試結(jié)果。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實施例提供一種應(yīng)用測試方法和裝置,可針對需要登錄的應(yīng)用程序進(jìn)行自動測試。
[0005]為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種應(yīng)用測試方法,所述方法包括:
[0006]啟動被測應(yīng)用程序;
[0007]查詢當(dāng)前顯示界面中的所有控件信息,以獲取所述被測應(yīng)用程序的登錄控件信息;
[0008]根據(jù)被測應(yīng)用程序的登錄控件信息執(zhí)行預(yù)設(shè)的應(yīng)用登錄腳本;
[0009]執(zhí)行針對所述被測應(yīng)用程序的模擬輸入測試。
[0010]相應(yīng)地,本發(fā)明實施例還提供了一種應(yīng)用測試裝置,所述應(yīng)用測試裝置包括:
[0011]程序啟動模塊,用以啟動被測應(yīng)用程序;
[0012]控件信息獲取模塊,用以查詢當(dāng)前顯示界面中的所有控件信息,以獲取所述被測應(yīng)用程序的登錄控件信息;
[0013]應(yīng)用登錄模塊,用以根據(jù)被測應(yīng)用程序的登錄控件信息執(zhí)行預(yù)設(shè)的應(yīng)用登錄腳本;
[0014]輸入測試模塊,用以執(zhí)行針對所述被測應(yīng)用程序的模擬輸入測試。
[0015]通過實施本發(fā)明實施例,可以通過自動識別被測應(yīng)用程序的登錄控件信息,實現(xiàn)完成被測應(yīng)用程序的登錄操作,從而可以在被測應(yīng)用程序成功登錄后對應(yīng)用程序進(jìn)行模擬輸入測試,克服了現(xiàn)有技術(shù)中不能對需要登錄的應(yīng)用程序進(jìn)行模擬輸入測試的問題。
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明實施例中的一種應(yīng)用測試方法的流程示意圖;
[0018]圖2是本發(fā)明應(yīng)用測試方法的實施例中獲取被測應(yīng)用程序的登錄控件信息的流程不意圖;
[0019]圖3是本發(fā)明應(yīng)用測試方法的實施例中根據(jù)被測應(yīng)用程序的登錄控件信息執(zhí)行預(yù)設(shè)的應(yīng)用登錄腳本的流程示意圖;
[0020]圖4是本發(fā)明實施例中的一種應(yīng)用測試裝置的結(jié)構(gòu)示意圖;
[0021]圖5是本發(fā)明應(yīng)用測試裝置的實施例中控件信息獲取模塊的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]圖1是本發(fā)明實施例中的一種應(yīng)用測試方法的流程示意圖,本發(fā)明提及的應(yīng)用測試方法可以適用于對電子終端中的應(yīng)用程序進(jìn)行測試,該流程可以在應(yīng)用程序所在終端實施,也可以由與應(yīng)用程序所在終端建立連接的另一終端實施,如圖所示本發(fā)明實施例中的應(yīng)用測試方法至少可以包括以下流程:
[0024]S101,啟動被測應(yīng)用程序。
[0025]本發(fā)明實施例中的被測應(yīng)用程序可以為需要登錄至服務(wù)器后方能夠正常使用的應(yīng)用程序,例如即時通訊工具、SNS客戶端、網(wǎng)絡(luò)相冊客戶端等。本發(fā)明實施例中的應(yīng)用測試方法可以通過運行經(jīng)過自定義的自動化測試工具實施,所述自動化測試工具可以例如在Android系統(tǒng)中運行的Monkey測試工具,例如可以向電子終端發(fā)送一串a(chǎn)db shell命令,如monkey - p com.tencent.mm - vlOO,則可以在電子終端啟動Monkey測試,并通過monkey啟動微信客戶端。
[0026]S102,查詢當(dāng)前顯示界面中的所有控件信息,以獲取所述被測應(yīng)用程序的登錄控件信息。
[0027]以Android系統(tǒng)的電子終端為例,在啟動被測應(yīng)用程序后,測試工具可以通過向Android系統(tǒng)自帶進(jìn)程Viewserver發(fā)送查詢指令,查詢當(dāng)前顯示界面中的所有控件信息,從而獲取所述被測應(yīng)用程序的登錄控件信息。具體實現(xiàn)中,可以在Monkey測試工具中的monkey事件隊列(MonkeyEvent)中增添自定義模擬登錄事件即MonkeyLoginEvent,所述模擬登錄事件用以被執(zhí)行本實施例中的自動登錄功能,在啟動被測應(yīng)用程序后,可以通過執(zhí)行所述模擬登錄事件向Android系統(tǒng)自帶進(jìn)程Viewserver發(fā)送查詢指令,查詢當(dāng)前顯示界面中的所有控件信息,從而獲取所述被測應(yīng)用程序的登錄控件信息。
[0028]進(jìn)而在可選實施例中,測試工具可以通過向預(yù)設(shè)的界面管理對象發(fā)送登錄控件查詢請求,攜帶所述被測應(yīng)用程序的登錄控件標(biāo)識,以使所述界面管理對象向Viewserver查詢當(dāng)前顯示界面中的所有控件信息,所述界面管理對象根據(jù)所述被測應(yīng)用程序的登錄控件標(biāo)識對所述當(dāng)前顯示界面中的所有控件信息解析得到所述被測應(yīng)用程序的登錄控件信息,進(jìn)而獲取所述界面管理對象返回的所述被測應(yīng)用程序的登錄控件信息。具體可以如下文結(jié)合圖2所示的在一個可選實施例中實現(xiàn)獲取被測應(yīng)用程序的登錄控件信息的流程。
[0029]所述被測應(yīng)用程序的登錄控件信息可以包括被測應(yīng)用程序的至少一個登錄控件的控件激活參數(shù)、控件輸入方式、Π位置等信息,以便在測試過程中可以通過向被測應(yīng)用程序的登錄控件輸入登錄操作以實現(xiàn)被測應(yīng)用程序的自動登錄。所述登錄控件可以包括登錄標(biāo)識輸入控件和驗證信息輸入控件,在可選實施例中,被測應(yīng)用程序可能需要在起始界面點擊“登錄”選項或按鈕后方進(jìn)入登錄界面,則被測應(yīng)用程序的至少一個登錄控件還包括進(jìn)入登錄頁面的輸入控件。
[0030]S103,根據(jù)被測應(yīng)用程序的登錄控件信息執(zhí)行預(yù)設(shè)的應(yīng)用登錄腳本,即自動執(zhí)行應(yīng)用程序的登錄操作。
[0031]具體實現(xiàn)中,可以根據(jù)事先注冊或使用的程序登錄賬號、密碼等信息預(yù)先定制針對被測應(yīng)用程序的登錄腳本,在獲取到被測應(yīng)用程序的登錄控件信息后,測試工具可以通過執(zhí)行該登錄腳本向應(yīng)用程序的登錄控件輸入登錄操作,例如向登錄標(biāo)識輸入控件登錄標(biāo)識(用戶名,登錄賬號等),向應(yīng)用程序的驗證信息(密碼、口令、驗證碼或用戶私鑰等)輸入控件輸入登錄驗證信息,從而模擬執(zhí)行應(yīng)用程序的登錄操作。具體可以如下文結(jié)合圖3所示的在一個可選實施例中根據(jù)被測應(yīng)用程序的登錄控件信息執(zhí)行預(yù)設(shè)的應(yīng)用登錄腳本的實現(xiàn)流程。
[0032]S104,執(zhí)行針對所述被測應(yīng)用程序的模擬輸入測試。
[0033]具體的,所述模擬輸入測試可以包括常規(guī)模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等,以對正在運行的應(yīng)用程序進(jìn)行測試。在可選實施例中,測試工具可以通過向電子終端中運行的應(yīng)用程序發(fā)送偽隨機的