本發(fā)明為移動自動化測試人員提供新的移動應(yīng)用的對象管理方法,能夠快速而高效的管理移動應(yīng)用的測試對象,以此來優(yōu)化移動自動化測試腳本的管理。
背景技術(shù):
隨著移動應(yīng)用新業(yè)務(wù)的不斷增加和原有業(yè)務(wù)應(yīng)用的持續(xù)更新,移動應(yīng)用測試的復(fù)雜程度、測試周期和測試成本越來越高。為此,許多企業(yè)紛紛采用移動自動化測試的手段,以期提高測試效率,降低測試成本。
目前,移動自動化測試使用較多的方案是Robot FrameWork-ride+Appium的模式,Robot FrameWork-ride主要負(fù)責(zé)自動化測試腳本的管理和編輯,Appium負(fù)責(zé)連通PC機(jī)和手機(jī),并在手機(jī)端執(zhí)行測試腳本。Robot FrameWork-ride:是一個輕量級的,直觀的Robot FrameWork測試腳本編輯器。Appium:是一個用于原生、混合和移動Web應(yīng)用程序測試的開源框架。它使用WebDriver協(xié)議驅(qū)動IOS和Android應(yīng)用程序。
Robot FrameWork-ride是一種基于Python的可擴(kuò)展關(guān)鍵字驅(qū)動的測試框架,通常用于端到端的可接收測試和及其驅(qū)動的開發(fā),可以用于測試涉及到多種技術(shù)和接口的分布式的、異構(gòu)的應(yīng)用系統(tǒng)。關(guān)鍵字驅(qū)動測試:把測試腳本的編程工作分離出去,讓沒有編程技巧的人也能開發(fā)自動化測試腳本。關(guān)鍵字驅(qū)動測試方法把測試腳本的創(chuàng)建分成兩個階段:計劃階段和實現(xiàn)階段。Robot FrameWork-ride通過樹形結(jié)構(gòu)層次對自動化測試腳本進(jìn)行管理,并且測試對象全都放在自動化測試腳本中,沒有將測試對象單獨管理,因此在移動應(yīng)用的頁面對象發(fā)生變化時,需花費大量時間修改自動化測試腳本,導(dǎo)致維護(hù)工作量較大,維護(hù)成本較高。
技術(shù)實現(xiàn)要素:
針對移動自動化測試中遇到的問題,本發(fā)明的目的是提供一種基于對象分離管理的移動自動化測試方法,該方法基于對象和自動化測試腳本分離及對象集中管理的理念,將移動應(yīng)用的測試對象從自動化測試腳本中分離,同時考慮到程序中存在多個測試腳本引用同一個對象的情況,將測試對象匯總在對象管理庫中進(jìn)行集中管理,以對象驅(qū)動的方式執(zhí)行自動化測試。
本發(fā)明的目的通過以下技術(shù)方案實現(xiàn):
一種基于對象分離管理的移動自動化測試方法,其特征在于:該方法基于對象和自動化測試腳本分離及對象集中管理的理念,將移動應(yīng)用的測試對象從自動化測試腳本中分離,同時考慮到程序中存在多個測試腳本引用同一個對象的情況,將測試對象匯總在對象管理庫中進(jìn)行集中管理,以對象驅(qū)動的方式執(zhí)行自動化測試;具體如下:
1)分離對象庫,獲取屬性值類;
2)分離對象庫的自動化測試腳本執(zhí)行過程的具體步驟如下:
Step1:選擇測試用例集;
Step2:執(zhí)行測試用例集中的自動化測試腳本;
Step3:執(zhí)行自動化測試腳本中的業(yè)務(wù)關(guān)鍵字;
Step4:定位業(yè)務(wù)關(guān)鍵字中的操作對象;
Step5:調(diào)用DLXX_GETOBJ_VALUE類中的方法查詢對象屬性值;
Step6:根據(jù)操作對象的指定屬性,調(diào)用相應(yīng)的獲取屬性值的方法去對象庫中查詢屬性值;
Step7:返回查詢到的對象屬性值;
Step8:根據(jù)返回的對象屬性值,定位到頁面中的對象,執(zhí)行業(yè)務(wù)關(guān)鍵字;
Step9:操作手機(jī)端的頁面;
Step10:重復(fù)step2,直至完成所選測試用例集中的自動化測試腳本。
本發(fā)明步驟1)中,獲取屬性值類DLXX_GETOBJ_VALUE方法的功能如下:
GET_ID_VALUE:獲取對象ID的值;
GET_Name_VALUE:獲取對象Name的值;
GET_Xpath_VALUE:獲取對象Xpath的值。
通過本發(fā)明,測試人員可快速和高效的管理移動測試對象,大幅降低移動自動化測試腳本的維護(hù)成本。
附圖說明
圖1 展示了分離對象庫的對象管理層次結(jié)構(gòu);
圖2展示了執(zhí)行移動自動化測試腳本的過程。
具體實施方式
一種基于對象分離管理的移動自動化測試方法,該方法基于對象和自動化測試腳本分離及對象集中管理的理念,將移動應(yīng)用的測試對象從自動化測試腳本中分離,同時考慮到程序中存在多個測試腳本引用同一個對象的情況,將測試對象匯總在對象管理庫中進(jìn)行集中管理,以對象驅(qū)動的方式執(zhí)行自動化測試。
分離對象庫的實現(xiàn)采用了1個類,獲取屬性值類(本實施例中使用類DLXX_GETOBJ_VALUE定義, 但不限于此名稱)。圖1 展示了分離對象庫的對象管理層次結(jié)構(gòu)。
獲取屬性值類DLXX_GETOBJ_VALUE主要方法的功能如下:
GET_ID_VALUE:獲取對象ID的值;
GET_Name_VALUE:獲取對象Name的值;
GET_Xpath_VALUE:獲取對象Xpath的值;
如圖2所示,分離對象庫的自動化測試腳本執(zhí)行過程的具體步驟如下:
Step1:選擇測試用例集。
Step2:執(zhí)行測試用例集中的自動化測試腳本。
Step3:執(zhí)行自動化測試腳本中的業(yè)務(wù)關(guān)鍵字。
Step4:定位業(yè)務(wù)關(guān)鍵字中的操作對象。
Step5:調(diào)用DLXX_GETOBJ_VALUE類中的方法查詢對象屬性值;
Step6:根據(jù)操作對象的指定屬性,調(diào)用相應(yīng)的獲取屬性值的方法(GET_ID_VALUE/GET_Name_VALUE/ GET_Xpath_VALUE)去對象庫中查詢屬性值;
Step7:返回查詢到的對象屬性值;
Step8:根據(jù)返回的對象屬性值,定位到頁面中的對象,執(zhí)行業(yè)務(wù)關(guān)鍵字。
Step9:操作手機(jī)端的頁面。
Step10:重復(fù)step2,直至完成所選測試用例集中的自動化測試腳本。
通過該方法,測試人員可快速和高效的管理移動測試對象,大幅降低移動自動化測試腳本的維護(hù)成本。