本發明專利技術提供了一種Android平臺自動化集成測試方法和裝置,其中方法包括:從被測Android設備中獲取被測應用程序的安裝文件;對被測應用程序的安裝文件進行反編譯;修改被測應用程序的配置文件為相同的用戶id和相同的進程id;將修改后的被測應用程序編譯成新的安裝文件,利用新的安裝文件替換被測Android設備中的安裝文件;重啟被測Android設備并執行集成測試用例。節約人力成本,且保證測試準確性和穩定性。
【技術實現步驟摘要】
一種Android平臺自動化集成測試方法和裝置
本專利技術涉及計算機應用
,特別涉及一種Android平臺自動化集成測試方法和裝置。
技術介紹
近幾年,移動平臺Android操作系統發展迅速,基于Android系統的移動設備已經占據了移動市場的半壁江山,各Android應用市場中的應用數目也是突飛猛漲,Android已經成為當下最熱門的移動平臺操作系統。為了保證Android應用程序能夠順利運行,對其進行集成測試是不可或缺的過程,為了實現Android平臺的集成測試,現有的實現方式主要包括以下幾種:第一種是采用人工測試的方式。第二種是利用Shell類工具進行測試,例如利用monkeyrunner、adbshell命令等。第三種是通過與AndroidViewServer通訊,對當前頁面的控件進行抓取并操作來實現測試。上述第一種方式人力成本較高,耗時長,且測試結果與測試人員的經驗技術及精力有關,準確性不能得到保證。第二種方式shell類工具在測試過程中無法實現頁面和控件的操作和偵測,測試結果不穩定,且不同分別率的設備上無法進行測試。第三種方式需要采用與AndroidViewServer通訊來獲取View信息,速度很慢且耗費大量資源,測試穩定性和性能無法得到保證。最重要的一點,由于各Android應用程序分別運行在各虛擬機實例中,每個虛擬機實例是一個獨立的進程空間,因此現有技術的各實現方式中在Android平臺無法獲取跨進程的多個應用程序的進程上下文來進行集成測試自動化,從而導致測試準確性和穩定性無法得到保證。
技術實現思路
有鑒于此,本專利技術提供了一種Android平臺自動化集成測試方法和裝置,以便于節約人力成本,且保證測試準確性和穩定性。具體技術方案如下:一種Android平臺自動化集成測試方法,該方法包括:S1、從被測Android設備中獲取被測應用程序的安裝文件;S2、對被測應用程序的安裝文件進行反編譯;S3、修改被測應用程序的配置文件為相同的用戶id和相同的進程id;S4、將修改后的被測應用程序編譯成新的安裝文件,利用新的安裝文件替換被測Android設備中的安裝文件;S5、重啟被測Android設備并執行集成測試用例。根據本專利技術一優選實施例,在所述步驟S1之前還包括:S0、對被測Android設備的測試環境進行初始化。根據本專利技術一優選實施例,所述步驟S0具體包括:S01:根據測試要求對被測Android設備的版本進行刷機;S02:獲取root權限和讀寫系統權限;S03:部署被測Android設備的被測應用程序。根據本專利技術一優選實施例,所述步驟S3具體包括:將配置文件AndroidManifest.xml中manifest標簽的android:sharedUserId屬性修改為指定的用戶id;將配置文件AndroidManifest.xml中application標簽的android:process屬性修改為指定的進程id。根據本專利技術一優選實施例,在步驟S3中所述利用新的安裝文件替換被測Android設備中的安裝文件之前還包括:基于原有的簽名文件對所述新的安裝文件進行重新簽名。一種Android平臺自動化集成測試裝置,該裝置包括:文件讀取單元,用于從被測Android設備中獲取被測應用程序的安裝文件;反編譯單元,用于對被測應用程序的安裝文件進行反編譯;配置修改單元,用于修改被測應用程序的配置文件為相同的用戶id和相同的進程id;編譯替換單元,用于將修改后的被測應用程序編譯成新的安裝文件,利用新的安裝文件替換被測Android設備中的安裝文件;用例執行單元,用于重啟被測Android設備并執行集成測試用例。根據本專利技術一優選實施例,該裝置還包括:初始化單元,用于對被測Android設備的測試環境進行初始化。根據本專利技術一優選實施例,所述初始化單元具體執行:根據測試要求對被測Android設備的版本進行刷機;獲取root權限和讀寫系統權限;部署被測Android設備的被測應用程序。根據本專利技術一優選實施例,所述配置修改單元具體執行:將配置文件AndroidManifest.xml中manifest標簽的android:sharedUserId屬性修改為指定的用戶id;將配置文件AndroidManifest.xml中application標簽的android:process屬性修改為指定的進程id。根據本專利技術一優選實施例,所述編譯替換單元在利用新的安裝文件替換被測Android設備中的安裝文件之前還執行:基于原有的簽名文件對所述新的安裝文件進行重新簽名。由以上技術方案可以看出,一方面本專利技術無需人工參與,降低了集成測試中投入的人力成本和時間成本;另一方面本專利技術通過反編譯的方式獲取被測應用程序的配置文件,并將其修改為相同的用戶id和進程id,使得被測應用程序在測試過程中運行在同一進程空間,從而獲取到進程上下文,提高了集成測試的穩定性和準確性。【附圖說明】圖1為本專利技術實施例一提供的主要方法流程圖;圖2為本專利技術實施例二提供的Android平臺自動化集成測試裝置結構圖。【具體實施方式】為了使本專利技術的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本專利技術進行詳細描述。實施例一、圖1為本專利技術實施例一提供的主要方法流程圖,如圖1所示,該方法包括以下步驟:步驟101:對被測Android設備的測試環境進行初始化。測試環境初始化是在進行測試過程中首先都會執行的步驟,在本步驟中主要包括:1)根據測試要求對被測Android設備的版本進行刷機。通常在進行某次測試時,是針對某個具體的Android版本進行的,因此首先要對被測Android設備重裝系統,部署成滿足測試要求的Android版本。2)獲取root權限和讀寫系統權限,由于后續測試過程中會涉及到系統文件(即后續的配置文件)修改和讀寫(即后續的獲取安裝文件、替換安裝文件),因此需要獲取root權限和讀寫系統權限才能夠保證后續的操作。3)部署被測Android設備的被測應用程序。根據本次集成測試的測試需求,在被測Android設備中部署好集成測試涉及的應用程序。在本專利技術實施例中可以提供面向測試人員的接口,通過該接口接收測試人員的指令來完成測試環境的初始化。當然,如果被測Android設備的版本、權限和應用程序已經滿足測試要求,則可以不執行本步驟。步驟102:從被測Android設備中獲取被測應用程序的安裝文件。本專利技術的測試裝置首先從被測Android設備中獲取集成測試所涉及的被測應用程序的安裝文件,通常為apk文件。步驟103:對被測應用程序的安裝文件進行反編譯。在本步驟中對apk文件進行反編譯的目的是獲取其中的配置文件,在android系統中為AndroidManifest.xml文件,其是每個android應用程序必須的文件,位于應用程序的根目錄下,描述了應用程序安裝包中的全局數據。步驟104:修改被測應用程序的配置文件為相同的用戶id和相同的進程id。在AndroidManifest.xml文件中manifest標簽的android:sharedUserId屬性中包含的是應用程序的用戶id,將該屬性修改為指定的用戶id,在該集成測試過程中涉及的本文檔來自技高網...
【技術保護點】
一種Android平臺自動化集成測試方法,其特征在于,該方法包括:S1、從被測Android設備中獲取被測應用程序的安裝文件;S2、對被測應用程序的安裝文件進行反編譯;S3、修改被測應用程序的配置文件為相同的用戶id和相同的進程id;S4、將修改后的被測應用程序編譯成新的安裝文件,利用新的安裝文件替換被測Android設備中的安裝文件;S5、重啟被測Android設備并執行集成測試用例。
【技術特征摘要】
1.一種Android平臺自動化集成測試方法,其特征在于,該方法包括:S1、從被測Android設備中獲取被測應用程序的安裝文件;S2、對被測應用程序的安裝文件進行反編譯以獲取被測應用程序的配置文件;S3、修改獲取到的被測應用程序的配置文件為相同的用戶id和相同的進程id;S4、將修改后的被測應用程序編譯成新的安裝文件,利用新的安裝文件替換被測Android設備中的安裝文件;S5、重啟被測Android設備并執行集成測試用例。2.根據權利要求1所述的方法,其特征在于,在所述步驟S1之前還包括:S0、對被測Android設備的測試環境進行初始化。3.根據權利要求2所述的方法,其特征在于,所述步驟S0具體包括:S01:根據測試要求對被測Android設備的版本進行刷機;S02:獲取root權限和讀寫系統權限;S03:部署被測Android設備的被測應用程序。4.根據權利要求1所述的方法,其特征在于,所述步驟S3具體包括:將配置文件AndroidManifest.xml中manifest標簽的android:sharedUserId屬性修改為指定的用戶id;將配置文件AndroidManifest.xml中application標簽的android:process屬性修改為指定的進程id。5.根據權利要求1所述的方法,其特征在于,在步驟S3中所述利用新的安裝文件替換被測Android設備中的安裝文件之前還包括:基于原有的簽名文件對所述新的安裝文件進行重新簽名。6.一種Androi...
【專利技術屬性】
技術研發人員:程振宇,董海峰,
申請(專利權)人:百度在線網絡技術北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。