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