欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

安卓界面自動化測試方法、裝置及系統(tǒng)的制作方法

文檔序號:8502117閱讀:546來源:國知局
安卓界面自動化測試方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種安卓界面自動化測試方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]安卓界面(Android UI)自動化測試是一種通過模擬用戶操作,能夠自動發(fā)現(xiàn)Android應(yīng)用中存在的缺陷的測試方法,可減少測試人員的大量重復(fù)手工測試操作,對于提高測試效率和提升測試質(zhì)量具有很高的應(yīng)用價值。
[0003]現(xiàn)有的一種Android UI自動化測試方法大致如下:首先在架構(gòu)上分為測試端和服務(wù)端,測試端運(yùn)行在計算機(jī)上,服務(wù)端運(yùn)行在安卓設(shè)備上,測試端進(jìn)行測試之前,需要在服務(wù)端將測試驅(qū)動代碼和被測應(yīng)用的程序源代碼進(jìn)行編譯得到最終的被測程序,然后在安卓設(shè)備上運(yùn)行被測程序,接著開始運(yùn)行測試端,測試端的測試用例代碼通過特定的接口層協(xié)議訪問安卓設(shè)備中的接口層驅(qū)動代碼,服務(wù)端調(diào)用安卓設(shè)備提供的框架操作安卓控件,由此來進(jìn)行測試。
[0004]可以看出,上述方法在進(jìn)行測試之前,必須獲取被測應(yīng)用的程序源代碼,不同的被測應(yīng)用的程序源代碼是不同的,在無法獲得被測應(yīng)用的程序源代碼的情況下,測試無法進(jìn)行。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種安卓界面自動化測試方法、裝置及系統(tǒng),在測試過程中無需獲取被測應(yīng)用的程序源代碼就可實(shí)現(xiàn)自動化測試,而且不需要對應(yīng)用進(jìn)行重簽名,還可同時測試多個應(yīng)用或多個進(jìn)程。
[0006]第一方面,本發(fā)明提供一種安卓界面自動化測試方法,包括:
[0007]根據(jù)測試端發(fā)送的測試指令中包含的被測應(yīng)用的代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識;
[0008]將所述被測應(yīng)用的進(jìn)程標(biāo)識對應(yīng)的被測進(jìn)程附加到目標(biāo)進(jìn)程;
[0009]分別獲取用于分配內(nèi)存的函數(shù)在所述目標(biāo)進(jìn)程中的第一地址、用于加載動態(tài)鏈接模塊的函數(shù)在所述目標(biāo)進(jìn)程中的第二地址和用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)在所述目標(biāo)進(jìn)程中的第三地址;
[0010]在所述目標(biāo)進(jìn)程中通過依次調(diào)用所述用于加載動態(tài)鏈接模塊的函數(shù)、所述用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)和所述目標(biāo)函數(shù),在所述被測進(jìn)程中創(chuàng)建第一服務(wù)端,以使所述測試端通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試。
[0011]進(jìn)一步地,所述根據(jù)測試端發(fā)送的測試指令中包含的被測應(yīng)用的代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識之前,還包括:
[0012]接收所述測試端發(fā)送的所述測試信令。
[0013]進(jìn)一步地,所述在所述目標(biāo)進(jìn)程中通過依次調(diào)用所述用于加載動態(tài)鏈接模塊的函數(shù)、所述用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)和所述目標(biāo)函數(shù),在所述被測進(jìn)程中創(chuàng)建第一服務(wù)端之后,還包括:
[0014]監(jiān)聽到來自所述測試端的測試程序的連接后,與所述測試端建立連接;
[0015]接收所述測試程序發(fā)送的操作指令并執(zhí)行所述操作指令,返回執(zhí)行結(jié)果給所述測試程序。
[0016]進(jìn)一步地,所述操作指令包括:獲取控件樹,或,獲取控件文本,或,點(diǎn)擊按鈕。
[0017]第二方面,本發(fā)明提供一種安卓界面自動化測試方法,包括:
[0018]向服務(wù)端發(fā)送測試指令,所述測試指令包含被測應(yīng)用的代碼,以使所述服務(wù)端接收到所述測試指令后根據(jù)所述代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識,在所述被測應(yīng)用的進(jìn)程標(biāo)識對應(yīng)的被測進(jìn)程中創(chuàng)建第一服務(wù)端;
[0019]通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試。
[0020]進(jìn)一步地,所述通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試之前,還包括:
[0021]向所述服務(wù)端發(fā)送測試程序的連接,以使所述服務(wù)端監(jiān)聽到所述連接后與所述測試端建立連接。
[0022]進(jìn)一步地,所述通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試,包括:
[0023]向所述服務(wù)端發(fā)送操作指令;
[0024]接收所述服務(wù)端返回的執(zhí)行結(jié)果。
[0025]進(jìn)一步地,所述操作指令包括:獲取控件樹,或,獲取控件文本,或,點(diǎn)擊按鈕。
[0026]第三方面,本發(fā)明提供一種服務(wù)端,包括:
[0027]查找模塊,用于根據(jù)測試端發(fā)送的測試指令中包含的被測應(yīng)用的代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識;
[0028]處理模塊,用于將所述被測應(yīng)用的進(jìn)程標(biāo)識對應(yīng)的被測進(jìn)程附加到目標(biāo)進(jìn)程;
[0029]獲取模塊,用于分別獲取用于分配內(nèi)存的函數(shù)在所述目標(biāo)進(jìn)程中的第一地址、用于加載動態(tài)鏈接模塊的函數(shù)在所述目標(biāo)進(jìn)程中的第二地址和用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)在所述目標(biāo)進(jìn)程中的第三地址;
[0030]創(chuàng)建模塊,用于在所述目標(biāo)進(jìn)程中通過依次調(diào)用所述用于加載動態(tài)鏈接模塊的函數(shù)、所述用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)和所述目標(biāo)函數(shù),在所述被測進(jìn)程中創(chuàng)建第一服務(wù)端,以使所述測試端通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試。
[0031]進(jìn)一步地,所述服務(wù)端還包括:
[0032]接收模塊,用于在所述查找模塊根據(jù)測試端發(fā)送的測試指令中包含的被測應(yīng)用的代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識之前,接收所述測試端發(fā)送的所述測試信令。
[0033]進(jìn)一步地,所述處理模塊還用于在所述目標(biāo)進(jìn)程中通過依次調(diào)用所述用于加載動態(tài)鏈接模塊的函數(shù)、所述用于獲取測試樁加載器模塊中目標(biāo)函數(shù)的地址的函數(shù)和所述目標(biāo)函數(shù),在所述被測進(jìn)程中創(chuàng)建第一服務(wù)端之后,監(jiān)聽來自所述測試端的測試程序的連接;
[0034]所述處理模塊還用于監(jiān)聽到來自所述測試端的測試程序的連接后,與所述測試端建立連接;
[0035]所述接收模塊還用于接收所述測試程序發(fā)送的操作指令;
[0036]所述處理模塊還用于執(zhí)行所述操作指令;
[0037]所述服務(wù)端還包括:發(fā)送模塊,用于返回執(zhí)行結(jié)果給所述測試程序。
[0038]進(jìn)一步地,所述操作指令包括:獲取控件樹,或,獲取控件文本,或,點(diǎn)擊按鈕。
[0039]第四方面,本發(fā)明提供一種測試端,包括:
[0040]發(fā)送模塊,用于向服務(wù)端發(fā)送測試指令,所述測試指令包含被測應(yīng)用的代碼,以使所述服務(wù)端接收到所述測試指令后根據(jù)所述代碼查找所述代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識,在所述被測應(yīng)用的進(jìn)程標(biāo)識對應(yīng)的被測進(jìn)程中創(chuàng)建第一服務(wù)端;
[0041]處理模塊,用于通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試。
[0042]進(jìn)一步地,所述發(fā)送模塊還用于在所述處理模塊通過所述第一服務(wù)端對所述被測進(jìn)程進(jìn)行測試之前,向所述服務(wù)端發(fā)送測試程序的連接,以使所述服務(wù)端監(jiān)聽到所述連接后與所述測試端建立連接。
[0043]進(jìn)一步地,所述發(fā)送模塊還用于向所述服務(wù)端發(fā)送操作指令;
[0044]所述測試端還包括:
[0045]接收模塊,用于接收所述服務(wù)端返回的執(zhí)行結(jié)果。
[0046]進(jìn)一步地,所述操作指令包括:獲取控件樹,或,獲取控件文本,或,點(diǎn)擊按鈕。
[0047]第五方面,本發(fā)明提供一種測試系統(tǒng),包括第三方面所述的服務(wù)端和第四方面所述的測試端。
[0048]本發(fā)明提供的安卓界面自動化測試方法、裝置及系統(tǒng),通過服務(wù)端根據(jù)被測應(yīng)用的代碼查找代碼對應(yīng)的被測應(yīng)用的進(jìn)程標(biāo)識后,將被測進(jìn)程附加到目標(biāo)進(jìn)程,接著用于
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
宁乡县| 龙游县| 平湖市| 桃园市| 肇庆市| 密山市| 桐柏县| 石首市| 镇赉县| 鄂州市| 米易县| 香港| 广宁县| 湖南省| 巴中市| 安泽县| 古蔺县| 安龙县| 上犹县| 青铜峡市| 增城市| 淄博市| 武邑县| 巢湖市| 昌都县| 安泽县| 丹东市| 海口市| 常州市| 青川县| 洪洞县| 福海县| 兴隆县| 建湖县| 石泉县| 衡南县| 彰化市| 体育| 福州市| 平谷区| 湖南省|