本發明涉及手機測試技術領域,特別涉及一種安卓手機自動化測試方法和系統。
背景技術:
軟件測試就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。執行測試用例后,還需要跟蹤故障,以確保開發的產品適合需求。手機軟件測試是對手機產品的質量進行測試、驗證,檢查手機的軟件有沒有錯誤、判斷手機軟件是否具有穩定性,軟件測試人員還要編寫出相應的測試規范和測試用例的專門工作人員。
現有的手機軟件測試中,一般采用人工手段來運行或測試某個系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。但是在手機測試中需要大量模擬手機用戶的操作,以驗證手機是否能夠正常工作,使用得到預期的使用效果,如果僅僅依靠人工測試,則面臨著測試工作量大,效率低下,資源需求較多的問題。現在的手機軟件程序測試系統存在以下幾個問題:
1、服務器解析命令轉化為測試腳本,腳本與要測試的應用程序相關聯,不同的應用程序對應不同的測試腳本,通用性不強;
2、測試腳本提前預設編寫完成,無法應對預設之外的測試場景,不具備良好的擴展性。
3、測試腳本只對應單一機型的一種狀態,在更換機型或改變手機的模擬狀態時,無法進行測試,在測試完成后,沒有測試結果反饋,測試人員無法及時知曉手機軟件的測試情況,效率比較差。
技術實現要素:
針對現有的手機軟件測試系統存在的通用性不強、不具備良好的擴展性,測試工作效率低下的問題,提出一種基于安卓系統的手機自動化測試方法和系統,通過在自動化手機測試系統設置自動測試模塊,自動識別各個控件的屬性以及ID,隨時測試所有控件的所有功能,保證遍歷所有的控件及其功能,智能判定下一步行為操作,具有很好擴展性;通過設置自動抓取模塊從安卓系統底層顯示驅動獲取當前測試面,而不受機型的限制,具有很好的通用性;通過設置修改模塊修改安卓手機的配置文件來改變機型來評估不同機型安卓手機程序的測試效果以及改變手機功能模擬不同的測試場景,進而來評估不同測試場景安卓手機程序的應用效果。
一種安卓手機自動化測試方法,包括:
將自動化測試系統安裝在PC機上,并通過連接裝置與要測試的安卓手機批量連接;
所述自動化測試系統中的數據獲取模塊獲取要測試的安卓手機程序的程序數據,將程序數據以列表的形式存儲在自動化測試系統中
所述自動化測試系統中的自動測試模塊從自動化測試系統獲取測試需要的數據,并對安卓手機程序進行測試
所述自動化測試系統中的自動抓取模塊抓取用于評估測試效果使用的測試顯示頁面
所述自動化測試系統的修改模塊通過配置參數模擬不同手機狀態的測試場景對所述安卓手機程序進行測試;
測試完成后,所述自動化測試系統將測試結果顯示所述PC機屏幕上供測試人員評估。
根本本發明的一種安卓手機自動化測試方法,程序數據包括要測試的安卓手機程序的賬號、密碼以及測試控件所需要的數據。
根本本發明所述的一種安卓手機自動化測試方法,所述自動化測試系統中的自動測試模塊從所述自動化測試系統獲取每一步測試所述需要的數據,并對安卓手機程序進行測試,包括:
所述自動測試模塊自動識別被測試安卓手機程序的所有控件id以及控件屬性,使自動化測試按照預設的路徑進行測試;
所述自動測試模塊自動測試遍歷所有控件的操作功能。
根本本發明所述的一種安卓手機自動化測試方法,所述控件屬性包括控件的名稱、大小以及顏色。
根本本發明所述的一種安卓手機自動化測試方法,所述操作功能包括控件滑動、點擊以及輸入。
根本本發明所述的一種安卓手機自動化測試方法,所述自動化測試系統中的自動抓取模塊抓取用于評估測試效果的每一步測試顯示頁面,包括:
所述自動抓取模塊從安卓操作系統顯示驅動層抓取當前測試頁面;
所述自動化測試系統中的壓縮模塊將所述當前測試頁面進行壓縮,并被壓縮后的當前測試頁面傳輸到PC機;
所述自動化測試系統的轉換模塊將被壓縮后的當前測試頁面進行格式轉換后顯示PC機屏幕上。
根本本發明所述的一種安卓手機自動化測試方法,所述自動化測試系統模擬不同手機狀態的測試場景所述安卓手機程序進行測試,包括:
所述自動化測試系統中的修改模塊通過修改手機配置參數來獲取不同機型或手機所處不同位置的測試場景,并對不同機型或不同位置中的測試場景中的所述安卓手機程序進行測試;
通過對被測試手機中的藍牙或WiFi進行操作來獲取不同網絡環境的測試場景,并對不同網絡環境的測試場景中安卓手機程序進行測試。
另一方面,提出一種安卓手機自動化測試系統,包括:
數據獲取模塊:分別與被測試安卓手機和自動測試模塊連接,用于獲取所述被測試安卓手機程序的程序數據;
自動測試模塊:分別與所述數據獲取模塊以及PC機連接,用于在測試過程中將程序數據導入到被測試安卓手機程序,測試結束時將測試結果顯示在所述PC機屏幕上;
自動抓取模塊:分別與被測試安卓手機以及壓縮模塊連接,用于從被測試安卓手機安卓系統的驅動層抓取當前被測試頁面,并將抓取的測試頁面傳輸到壓縮模塊進行壓縮;
自動修改模塊:與被測試安卓手機連接,用于修改手機配置文件來獲取不同的測試場景;
壓縮模塊:分別與抓取模塊以及轉換模塊連接,用于對抓取模塊抓取的測試頁面進行壓縮,以便傳輸到PC機;
轉換模塊:分別與壓縮模塊以及PC機連接,用于轉換壓縮后的測試頁面格式,以便顯示在PC機屏幕上。
根本本發明所述的一種安卓手機自動化測試系統,所述安卓手機自動化測試系統還包括被測試的不同機型的安卓手機、用于顯示測試結果的PC機以及用于實現安卓手機與PC機進行通信的連接裝置。
實施本發明提出的安卓手機自動化測試方法和系統,首先將安卓手機自動化測試系統安裝在PC機上,自動化測試系統中的數據獲取模塊獲取安卓手機的要測試手機程序的各種數據,在測試過程中需要時將這些數據導入到自動測試模塊,自動測試模塊按照預先設定的路徑對安卓手機應用程序進行測試,自動識別各個控件的屬性以及id,隨時測試所有控件的所有功能,保證遍歷所有的控件及其功能,智能判定下一步行為操作,具有很好的擴展性;自動抓取模塊用于抓取在測試過程中需要的測試頁面,這有利于在測試完成后對測試結果進行評估,而不同手動抓取測試頁面,而且在抓取頁面的過程中,是從安卓系統底層顯示驅動獲取當前測試面,而不受機型的限制,具有很好的通用性;修改模塊一方面,通過修改安卓手機的配置文件來改變機型來評估不同機型安卓手機程序的測試效果,另一方面,對手機的功能設置進行修改,來模擬不同的測試場景,進而來評估不同測試場景安卓手機程序的應用效果。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明中一種安卓手機自動化測試方法實施例的流程示意圖;
圖2是本發明中一種安卓手機自動化測試方法實施例中步驟S3的子步驟流程示意圖;
圖3是本發明中一種安卓手機自動化測試方法實施例中步驟S4的子步驟流程示意圖;
圖4是本發明中一種安卓手機自動化測試方法實施例中步驟S5的子步驟流程示意圖;
圖5是本發明中一種安卓手機自動化測試系統實施例的組成連接示意圖。
具體實施方式
現有的手機軟件測試中,一般采用人工手段來運行或測試某個系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。但是在手機測試中需要大量模擬手機用戶的操作,以驗證手機是否能夠正常工作,使用得到預期的使用效果,如果僅僅依靠人工測試,則面臨著測試工作量大,效率低下,資源需求較多的問題。現在的手機軟件程序測試系統存在以下幾個問題:服務器解析命令轉化為測試腳本,腳本與要測試的應用程序相關聯,不同的應用程序對應不同的測試腳本,通用性不強;測試腳本提前預設編寫完成,無法應對預設之外的測試場景,不具備良好的擴展性;測試腳本只對應單一機型的一種狀態,在更換機型或改變手機的模擬狀態時,無法進行測試,在測試完成后,沒有測試結果反饋,測試人員無法及時知曉手機軟件的測試情況,效率比較差。
本發明要解決的問題是:現有的手機軟件測試系統存在的通用性不強、不具備良好的擴展性,測試工作效率低下。
本發明提出的技術方案是:提出一種基于安卓系統的手機自動化測試方法和系統,一種安卓手機自動化測試系統包括:用戶獲取安卓手機應用程序數據的數據獲取模塊110、用于對安卓手機應用程序測試的自動測試模塊120、用于對傳輸到PC機190的自動抓取模塊160自動抓取的測試頁面進行轉換的轉換模塊140、用于對自動抓取模塊160自動抓取的測試頁面進行壓縮的壓縮模塊150、用于對安卓手機應用程序測試過程的需要抓取的測試頁面進行抓取的自動抓取模塊160、批量安卓安卓手機以及用于安卓手機配置參數進行修改的修改模塊180;數據獲取模塊110獲取安卓手機的要測試手機程序的各種數據,在測試過程中需要時將這些數據導入到自動測試模塊120,自動測試模塊120按照預先設定的路徑對安卓手機應用程序進行測試,自動識別各個控件的屬性以及ID,隨時測試所有控件的所有功能,保證遍歷所有的控件及其功能,智能判定下一步行為操作,具有很好的擴展性;自動抓取模塊160用于抓取在測試過程中需要的測試頁面,這有利于在測試完成后對測試結果進行評估,而不同手動抓取測試頁面,而且在抓取頁面的過程中,是從安卓系統底層顯示驅動獲取當前測試面,而不受機型的限制,具有很好的通用性;修改模塊180具有兩個方面的作用:1、通過修改安卓手機的配置文件來改變機型來評估不同機型安卓手機程序的測試效果;2、對手機的功能設置進行修改,來模擬不同的測試場景,進而來評估不同測試場景安卓手機程序的應用效果。
下面將結合附圖對本發明進行說明。
一、方法實施例
圖1是本發明中一種安卓手機自動化測試方法實施例的流程示意圖,請參考圖1,一種安卓手機自動化測試方法,包括:
S1、將自動化測試系統安裝在PC機190上,并通過連接裝置130與要測試的安卓手機批量連接。
本發明中的自動化測試系統是安裝在PC機190上,通過連接裝置130與安卓手機連接,在測試時,安卓手機是批量連接的,可以是同一手機型號的多個手機,也可以是不同手機型號的多個手機與PC機190連接,本發明中的自動化手機測試系統通過與手機批量連接來實現對不同型號的多個安卓手機的同一安卓手機程序進行測試,一方面,批量測試不同型號的安卓手機提高了測試的工作效率,另一方面,也可以通過批量測試來評估同一測試安卓手機程序在不同機型的測試效果。
連接裝置130用于連接PC機190與被測試安卓手機,實現PC機190與被測試安卓手機之間的數據通信,通過連接裝置130,將被自動抓取模塊160隨機抓取的測試頁面進行壓縮,并傳輸到PC機190進行轉換、顯示;連接裝置130實現了通過操作PC機190就可以對被測試安卓手機程序進行測試方面的操作、例如抓取圖片、修改手機配置參數等
S2、自動化測試系統中的數據獲取模塊110獲取要測試的安卓手機程序的程序數據,將程序數據以列表的形式存儲在自動化測試系統中。
數據獲取模塊110主要是用于在對要測試的安卓手機程序進行數據提取,因為在測試時自動化測試系統要識別所有控件的id以及屬性,屬性包括控件的大小、名稱、顏色等等,使測試按照預先設定的路勁進行測試,測試所有控件功能,在測試功能或讀取控件屬性時或進入設定的路徑時有時候需要輸入相應的數據,例如安卓手機應用程序的賬號、密碼,控件需要顯示的數據或者某一子空間的數量等等。只有正確獲取了安卓手機程序的賬號、密碼,自動化測試系統才能夠進安卓手機程序開始測試。不同手機的被測試安卓手機程序的數據是不一樣,因為不同的被測試安卓手機程序對應的用戶操作和緩存不一樣,數據獲取模塊110在獲取被測試安卓手機程序的數據后,以列表的形式存儲在自動化測試系統中,分別對應每一被測試安卓手機。測試開始后,按照需求順序依次導入獲取的安卓手機程序,保證測試順利進行。
S3、自動化測試系統中的自動測試模塊120從自動化測試系統獲取測試需要的數據,并對安卓手機程序進行測試。
圖2是本發明中一種安卓手機自動化測試方法實施例中步驟S3的子步驟流程示意圖,請參考圖2,步驟S3包括:S31、自動測試模塊120自動識別被測試安卓手機程序的所有控件id以及控件屬性,使自動化測試按照預設的路徑進行測試。S32、自動測試模塊120自動測試遍歷每一控件的所有操作功能。
在自動化測試前,自動測試模塊120從自動化測試系統中獲取測試所需要的數據,例如首先獲取被測試安卓手機程序的賬號和密碼,進入安卓手機程序;在測試的過程中,每一步需要的數據從存儲在自動化測試系統對應的數據列表獲取需要的數據。自動測試模塊120用于完成安卓手機程序的測試工作:1、首先識別安卓手機程序的控件屬性、id等,控件屬性主要是控件的顏色、大小以及名稱等;2、測試所有控件的所有功能,例如控件的滑動、點擊以及輸入等功能。自動識別模塊能夠智能判定下一步行為操作,例如,某一控件包括有很多子控件,子控件又對應許多下一級子控件,或一個控件對應有很多功能,自動測試模塊120按照預定的路徑逐級測試子控件或逐項測試功能,例如先測試控件的滑動功能,接著測試點擊功能,最后測試輸入功能,通過智能判定下一步行為操作,使得自動化測試系統具有良好的擴展性。
S4、自動化測試系統中的自動抓取模塊160抓取用于評估測試效果使用的測試顯示頁面。
圖3是本發明中一種安卓手機自動化測試方法實施例中步驟S4的子步驟流程示意圖,請參考圖3,S41、自動抓取模塊160從安卓操作系統顯示驅動層抓取當前測試頁面。S42、自動化測試系統中的壓縮模塊150將當前測試頁面進行壓縮,并被壓縮后的當前測試頁面傳輸到PC機190。S43、自動化測試系統的轉換模塊140將被壓縮后的當前測試頁面進行格式轉換后顯示PC機190屏幕上。
本發明中自動化測試系統中的測試用例與手機頁面場景元素相關,與單個應用無關,滿足不同安卓手機程序的相同行為測試,要做到這一點,本發明自動化測試系統中的自動抓取模塊160從手機安卓系統的底層顯示驅動中獲取當前測試頁面數據,這與手機的型號沒有關系,具有很強的通用性。現有的手機測試系統獲取的測試頁面與用戶在被測試安卓手機中的位置有關系,而且與安卓手機的型號有關系,也就是說即使更換手機型號或手機應用場景,自動化系統中的測試用例并不需要改變,提高了自動化測試系統的通用性,
S5、自動化測試系統的修改模塊180通過配置參數模擬不同手機狀態的測試場景對安卓手機程序進行測試。圖4是本發明中一種安卓手機自動化測試方法實施例中步驟S5的子步驟流程示意圖,請參考圖4,S51、自動化測試系統中的修改模塊180通過修改手機配置參數來獲取不同機型或手機所處不同位置的測試場景,并對不同機型或不同位置中的測試場景中的安卓手機程序進行測試。S52、通過對被測試手機中的藍牙或WiFi進行操作來獲取不同網絡環境的測試場景,并對不同網絡環境的測試場景中安卓手機程序進行測試。
修改模塊180通過修改手機的配置參數來改變手機型號或改變安卓手機的使用位置。1、改變安卓手機型號:a.修改安卓手機的出廠編號;b.修改安卓手機的手機卡序列號;c.修改安卓手機的安卓id以及mac;d.改變手機的藍牙mac或名稱,改變WiFi的mac或名稱。2、改變手機的使用位置:手機的位置是通過GPS、手機移動通信運營商基站以及手機的WiFi mac來決定的,修改模塊180通過修改配置文件中的GPS或手機移動通信運營商基站或手機的WiFi mac參數來達到模擬安卓手機改變使用位置場景的目的。另外,還可以通過操作手機來模擬手機網絡狀態改變的場景,例關閉或打開安卓手機的WiFi或藍牙。通過以上手段來達到模擬改變被測試安卓手機的型號、使用位置以及網絡狀態被改變的場景,本發明中的自動化測試系統能高效完成不同場景下同一安卓手機程序的測試,提高了工作效率。
S6、測試完成后,自動化測試系統將測試結果顯示PC機190屏幕上供測試人員評估。
測試完成后,自動化測試系統對測試結果進行匯總,生成一個測試結果列表并顯示在PC機190屏幕上,測試結果列表中的參數包括測試的安卓手機程序名稱,被測試的手機型號,手機IP,手機的網絡狀態。
根本本發明的一種安卓手機自動化測試方法,程序數據包括要測試的安卓手機程序的賬號、密碼以及測試控件所需要的數據。
根本本發明的一種安卓手機自動化測試方法,控件屬性包括控件的名稱、大小以及顏色。
根本本發明的一種安卓手機自動化測試方法,操作功能包括控件滑動、點擊以及輸入。
另一方面,提出一種安卓手機自動化測試系統,包括:
數據獲取模塊110:分別與被測試安卓手機和自動測試模塊120連接,用于獲取被測試安卓手機程序的程序數據;
自動測試模塊120:分別與數據獲取模塊110以及PC機190連接,用于在測試過程中將程序數據導入到被測試安卓手機程序,測試結束時將測試結果顯示在PC機190屏幕上;
自動抓取模塊160:分別與被測試安卓手機以及壓縮模塊150連接,用于從被測試安卓手機安卓系統的驅動層抓取當前被測試頁面,并將抓取的測試頁面傳輸到壓縮模塊150進行壓縮;
自動修改模塊180:與被測試安卓手機連接,用于修改手機配置文件來獲取不同的測試場景;
壓縮模塊150:分別與抓取模塊以及轉換模塊140連接,用于對抓取模塊抓取的測試頁面進行壓縮,以便傳輸到PC機190;
轉換模塊140:分別與壓縮模塊150以及PC機190連接,用于轉換壓縮后的測試頁面格式,以便顯示在PC機190屏幕上。
根本本發明所述的一種安卓手機自動化測試系統,所述安卓手機自動化測試系統還包括被測試的不同機型的安卓手機、用于顯示測試結果的PC機190以及用于實現安卓手機與PC機190進行通信的連接裝置130。
實施本發明提出的安卓手機自動化測試方法和系統,首先將安卓手機自動化測試系統安裝在PC機190上,自動化測試系統中的數據獲取模塊110獲取安卓手機的要測試手機程序的各種數據,在測試過程中需要時將這些數據導入到自動測試模塊120,自動測試模塊120按照預先設定的路徑對安卓手機應用程序進行測試,自動識別各個控件的屬性以及ID,隨時測試所有控件的所有功能,保證遍歷所有的控件及其功能,智能判定下一步行為操作,具有很好的擴展性;自動抓取模塊160用于抓取在測試過程中需要的測試頁面,這有利于在測試完成后對測試結果進行評估,而不同手動抓取測試頁面,而且在抓取頁面的過程中,是從安卓系統底層顯示驅動獲取當前測試面,而不受機型的限制,具有很好的通用性;修改模塊180一方面,通過修改安卓手機的配置文件來改變機型來評估不同機型安卓手機程序的測試效果,另一方面,對手機的功能設置進行修改,來模擬不同的測試場景,進而來評估不同測試場景安卓手機程序的應用效果。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。