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

創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法及其框架系統(tǒng)與流程

文檔序號:11154873閱讀:388來源:國知局
創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法及其框架系統(tǒng)與制造工藝

本發(fā)明涉及系統(tǒng)平臺(tái)自動(dòng)化測試技術(shù),具體涉及一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法及其框架系統(tǒng)。



背景技術(shù):

隨著系統(tǒng)平臺(tái)的廣泛應(yīng)用,如安卓系統(tǒng)、IOS系統(tǒng)、h5系統(tǒng)等,對于應(yīng)用于系統(tǒng)平臺(tái)上的用戶界面自動(dòng)化測試變得越來越必要、越來越普遍。然而,在實(shí)際使用中,即使對于同一測試用例集,對于不同平臺(tái)的測試腳本也是不同的;從而產(chǎn)生了如下問題:

(1)、為了用于多個(gè)平臺(tái),重復(fù)寫類似的測試場景的多套測試腳本;

(2)、當(dāng)測試功能變更時(shí),需要維護(hù)多套測試腳本;

(3)、在排查問題時(shí),需要調(diào)試多套測試腳本。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于為了解決現(xiàn)有技術(shù)中,一個(gè)測試腳本不能夠用于不同平臺(tái)進(jìn)行等問題的出現(xiàn);提供一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法及其框架系統(tǒng)。

為了達(dá)到上述目的,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):

一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法,所述方法包含:

創(chuàng)建所述自動(dòng)化測試腳本;所述自動(dòng)化測試腳本包含:用例層、關(guān)鍵字層以及頁面層,所述用例層包含至少一個(gè)所述關(guān)鍵字層,所述關(guān)鍵字層包含至少一個(gè)頁面層,所述頁面層包含至少一個(gè)頁面元素、元素動(dòng)作;

在每個(gè)平臺(tái)上采用所述自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、所述頁面元素,生成對應(yīng)的屬于所述平臺(tái)的頁面元素。

較佳地,在創(chuàng)建所述自動(dòng)化測試腳本的步驟中,具體包含:

根據(jù)分層規(guī)范創(chuàng)建所述自動(dòng)化測試腳本中的所述用例層、所述關(guān)鍵字層;

在每個(gè)所述頁面層中定義至少一個(gè)所述頁面元素的元素注解;所述元素注解包含:元素定位符、所有兼容平臺(tái)的所述平臺(tái)類型、元素定位類型;

根據(jù)每個(gè)所述頁面元素的元素注解生成對應(yīng)的所述頁面元素;

將生成的每個(gè)所述頁面元素進(jìn)行生效處理。

較佳地,在每個(gè)平臺(tái)上采用所述自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、所述頁面元素,生成對應(yīng)的屬于所述平臺(tái)的頁面元素的步驟中,具體包含:

根據(jù)所述平臺(tái)的平臺(tái)類型生成對應(yīng)的平臺(tái)驅(qū)動(dòng);

采用所述平臺(tái)驅(qū)動(dòng),根據(jù)所述頁面元素,找到當(dāng)前所述平臺(tái)類型對應(yīng)的元素定位符,生成所述屬于平臺(tái)的頁面元素。

較佳地,在根據(jù)每個(gè)所述頁面元素的元素注解生成對應(yīng)的所述頁面元素的步驟中,具體包含:

根據(jù)每個(gè)所述平臺(tái)類型,生成對應(yīng)平臺(tái)類型的元素定位符,進(jìn)而生成對應(yīng)的所述頁面元素;每個(gè)所述頁面元素包含:每個(gè)所述平臺(tái)類型及其對應(yīng)的所述元素定位符、所述元素定位類型。

較佳地,在將生成的每個(gè)所述頁面元素進(jìn)行生效處理的步驟中,具體包含:

對每個(gè)所述頁面元素中每個(gè)所述平臺(tái)類型對應(yīng)的所述元素定位符進(jìn)行生效處理。

一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的框架系統(tǒng),所述框架系統(tǒng)包含:

編寫模塊,在所述編寫模塊上創(chuàng)建所述自動(dòng)化測試腳本;

關(guān)鍵字層識(shí)別模塊,識(shí)別所述自動(dòng)化測試腳本中的至少一個(gè)關(guān)鍵字層;

頁面層識(shí)別模塊,識(shí)別所述自動(dòng)化測試腳本中的至少一個(gè)頁面層;

頁面元素生成模塊,在每個(gè)所述頁面層下生成對應(yīng)的頁面元素、元素動(dòng)作;并且在每個(gè)平臺(tái)上采用所述自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、所述頁面元素,生成對應(yīng)的屬于所述平臺(tái)的頁面元素;

所述自動(dòng)化測試腳本包含:用例層、所述關(guān)鍵字層以及所述頁面層,所述用例層包含至少一個(gè)所述關(guān)鍵字層,所述關(guān)鍵字層包含至少一個(gè)所述頁面層,所述頁面層包含至少一個(gè)所述頁面元素、所述元素動(dòng)作。

較佳地,

所述關(guān)鍵字層識(shí)別模塊識(shí)別所述自動(dòng)化測試腳本中至少一個(gè)關(guān)鍵字,形成相應(yīng)的至少一個(gè)所述關(guān)鍵字層;所述頁面層識(shí)別模塊識(shí)別至少一個(gè)頁面標(biāo)識(shí),形成相應(yīng)的至少一個(gè)所述頁面層;根據(jù)分層規(guī)范,所述框架系統(tǒng)將所述自動(dòng)化測試腳本形成所述用例層、至少一個(gè)所述關(guān)鍵字層以及至少一個(gè)所述頁面層。

較佳地,所述頁面元素生成模塊包含:

元素注解生成器,用于在每個(gè)所述頁面層中定義至少一個(gè)所述頁面元素的元素注解;所述元素注解包含:元素定位符、所有應(yīng)用平臺(tái)的所述平臺(tái)類型、元素定位類型;

元素生成器,用于根據(jù)每個(gè)所述頁面元素的元素注解生成對應(yīng)的所述頁面元素;

注解處理器,用于將生成的每個(gè)所述頁面元素進(jìn)行生效處理。

較佳地,所述框架系統(tǒng)還包含:驅(qū)動(dòng)模塊,用于根據(jù)所述平臺(tái)的平臺(tái)類型生成對應(yīng)的平臺(tái)驅(qū)動(dòng);

在每個(gè)平臺(tái)上采用所述自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,所述平臺(tái)驅(qū)動(dòng)用語根據(jù)所述頁面元素,找到當(dāng)前所述平臺(tái)類型對應(yīng)的元素定位符,生成所述屬于平臺(tái)的頁面元素。

較佳地,所述元素生成器還用于根據(jù)每個(gè)所述平臺(tái)類型,生成對應(yīng)平臺(tái)類型的元素定位符,進(jìn)而生成對應(yīng)的所述頁面元素;每個(gè)所述頁面元素包含:每個(gè)所述平臺(tái)類型及其對應(yīng)的所述元素定位符、所述元素定位類型。

在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。

本發(fā)明的積極進(jìn)步效果在于:

本發(fā)明公開的創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法及其框架系統(tǒng),首先,創(chuàng)建所述自動(dòng)化測試腳本;其次,在每個(gè)平臺(tái)上采用所述自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、所述頁面元素,生成對應(yīng)的屬于所述平臺(tái)的頁面元素。本發(fā)明相比于現(xiàn)有技術(shù),增加了測試腳本的可復(fù)用性,方便自動(dòng)化測試人員的新增、維護(hù)測試用例,減少人力成本。同時(shí),本發(fā)明能夠產(chǎn)生如下技術(shù)效果:(1)減少代碼冗余,當(dāng)新功能上線至多個(gè)平臺(tái)時(shí),采用一套測試腳本即可用于多個(gè)平臺(tái)上;(2)快速更新定位,當(dāng)功能變更或問題發(fā)生時(shí),僅需要維護(hù)用于該平臺(tái)的測試腳本即可;(3)清晰的組織架構(gòu),將頁面層與關(guān)鍵字層相互分離。

附圖說明

圖1為本發(fā)明創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法的整體流程示意圖。

圖2為本發(fā)明創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法的實(shí)施例示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法,使得自動(dòng)化測試腳本能夠用于多種平臺(tái),包含web、Android、IOS、H5、Online、Offline等平臺(tái)。

如圖1所示,一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的方法,方法包含:

S1,創(chuàng)建自動(dòng)化測試腳本。

自動(dòng)化測試腳本包含:用例層、關(guān)鍵字層以及頁面層,用例層包含至少一個(gè)關(guān)鍵字層,關(guān)鍵字層包含至少一個(gè)頁面層,頁面層包含至少一個(gè)頁面元素、元素動(dòng)作。

本發(fā)明采用分層思想,實(shí)現(xiàn)測試腳本中用例層、關(guān)鍵字層以及頁面層的分離,使得用例層、關(guān)鍵字層與平臺(tái)類型無關(guān)。多種平臺(tái)能夠公用一套用例層;用例層包含多個(gè)關(guān)鍵字層,每個(gè)關(guān)鍵字層具有各自的具體功能,屬于動(dòng)作的封裝,與平臺(tái)信息無關(guān),多種平臺(tái)能夠共用一個(gè)關(guān)鍵字層。從而在進(jìn)行自動(dòng)化測試過程中,僅需要對底層的頁面層進(jìn)行動(dòng)態(tài)指向,即可實(shí)現(xiàn)測試腳本適用于多個(gè)平臺(tái)的效果;減少了現(xiàn)有技術(shù)中,對于用例層、關(guān)鍵字層的冗余測試代碼,并使得頁面層中的頁面元素部分更加清晰,并且需要針對多個(gè)平臺(tái)維護(hù)僅一次元素動(dòng)作部分即可。

本發(fā)明中,用例層用于調(diào)用相關(guān)的關(guān)鍵字層,并進(jìn)行用例的驗(yàn)證。關(guān)鍵字層能夠?qū)㈨撁鎸又械脑貏?dòng)作、頁面元素進(jìn)行組裝,使每個(gè)頁面層能夠成為一個(gè)具有意義的功能模塊。

在步驟S1中,具體包含:

S1.1,根據(jù)分層規(guī)范創(chuàng)建自動(dòng)化測試腳本中的用例層、關(guān)鍵字層。

S1.2,在每個(gè)頁面層中定義至少一個(gè)頁面元素的元素注解;元素注解包含:元素定位符、所有兼容平臺(tái)的平臺(tái)類型、元素定位類型。

本發(fā)明在實(shí)際使用中,自定義了元素注解生成器AutoLocator、注解處理器LocatorProcessor以及元素生成器BuildElement,來實(shí)現(xiàn)對頁面元素的修改。注解處理器LocatorProcessor對上述元素注解進(jìn)行預(yù)處理;元素生成器BuildElement用于根據(jù)元素注解生成指定平臺(tái)的頁面元素。

本實(shí)施例中,元素注解生成器AutoLocator定義了頁面元素的元素注解。

S1.3,根據(jù)每個(gè)頁面元素的元素注解生成對應(yīng)的頁面元素。在步驟S1.3中,具體包含:

根據(jù)每個(gè)平臺(tái)類型,生成對應(yīng)平臺(tái)類型的元素定位符,進(jìn)而生成對應(yīng)的頁面元素;每個(gè)頁面元素包含:每個(gè)平臺(tái)類型及其對應(yīng)的元素定位符、元素定位類型。

S1.4,將生成的每個(gè)頁面元素進(jìn)行生效處理。在該步驟中,具體包含:

對每個(gè)頁面元素中每個(gè)平臺(tái)類型對應(yīng)的元素定位符進(jìn)行生效處理。

例如:

@WebElementLocator(platformA=locatorA,…,platformN=locatorN,locator Type=TypeM)

public WebElement E;

頁面元素E的生成,直接使用BuildElement(E)。

其中:

platformX:平臺(tái)類型,包含web、android、ios、h5等。

locatorX:元素定位符信息

locatorType:元素定位類型,包含id、name、xpath、class等。

S2,在每個(gè)平臺(tái)上采用自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、頁面元素,生成對應(yīng)的屬于平臺(tái)的頁面元素。

步驟S2,具體包含:

根據(jù)平臺(tái)的平臺(tái)類型生成對應(yīng)的平臺(tái)驅(qū)動(dòng)。

采用平臺(tái)驅(qū)動(dòng),根據(jù)頁面元素,找到當(dāng)前平臺(tái)類型對應(yīng)的元素定位符,生成屬于平臺(tái)的頁面元素。

本實(shí)施例中,采用selenium原生方法,實(shí)現(xiàn)修改后的頁面元素的生成。

例如:

如圖2所示,為一個(gè)用例場景,目的是實(shí)現(xiàn)在Online(在線操作系統(tǒng))、Android(安卓操作系統(tǒng))、IOS(蘋果公司開發(fā)的移動(dòng)操作系統(tǒng))三種平臺(tái)上,實(shí)現(xiàn)元素A的點(diǎn)擊操作。

Platform用于指定當(dāng)前的平臺(tái)類型,由當(dāng)前平臺(tái)指定的平臺(tái)驅(qū)動(dòng)根據(jù)具體的平臺(tái)類型選擇相應(yīng)的元素定位符、元素定位類型,從而生成元素A。在執(zhí)行對元素A的點(diǎn)擊操作。

從上述操作可知,元素A的點(diǎn)擊(也即元素動(dòng)作)與平臺(tái)類型無關(guān),是通用的,同理,關(guān)鍵字層、用例模塊也是在不同平臺(tái)中通用的。

本發(fā)明公開的測試腳本,在多個(gè)平臺(tái)進(jìn)行測試之前,判斷測試腳本的用例層和/或任一關(guān)鍵字層是否需要修改;當(dāng)需要修改時(shí),進(jìn)行用例層和/或關(guān)鍵字層的修改。

本發(fā)明公開的測試腳本,在多個(gè)平臺(tái)測試過程中,判斷是否在任一平臺(tái)中存在測試錯(cuò)誤;當(dāng)存在時(shí),修改相應(yīng)的至少一個(gè)頁面元素;在該平臺(tái)中,采用修改后的測試腳本進(jìn)行測試。具體如下:

在每個(gè)平臺(tái)上執(zhí)行測試腳本時(shí),用例層調(diào)用相應(yīng)的關(guān)鍵字層,關(guān)鍵字層調(diào)用關(guān)鍵字層包含的所有頁面層。

當(dāng)任一頁面層中的任一頁面元素發(fā)生錯(cuò)誤時(shí),判斷在對應(yīng)平臺(tái)中存在測試錯(cuò)誤。

定義至少一個(gè)要求修改的頁面元素的元素注解;用頁面應(yīng)用程序測試系統(tǒng)生成修改后的頁面元素。本實(shí)施例中,采用selenium原生方法,實(shí)現(xiàn)修改后的頁面元素的生成。

本發(fā)明還公開了一種創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的框架系統(tǒng),使得自動(dòng)化測試腳本能夠用于多種平臺(tái),包含web、Android、IOS、H5、Online、Offline等平臺(tái)。

創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的框架系統(tǒng)包含:編寫模塊、關(guān)鍵字層識(shí)別模塊、頁面層識(shí)別模塊、頁面元素生成模塊以及驅(qū)動(dòng)模塊。

本發(fā)明采用分層思想,實(shí)現(xiàn)測試腳本中用例層、關(guān)鍵字層以及頁面層的分離,使得用例層、關(guān)鍵字層與平臺(tái)類型無關(guān)。多種平臺(tái)能夠公用一套用例層;用例層包含多個(gè)關(guān)鍵字層,每個(gè)關(guān)鍵字層具有各自的具體功能,屬于動(dòng)作的封裝,與平臺(tái)信息無關(guān),多種平臺(tái)能夠共用一個(gè)關(guān)鍵字層。從而在進(jìn)行自動(dòng)化測試過程中,僅需要對底層的頁面層進(jìn)行動(dòng)態(tài)指向,即可實(shí)現(xiàn)測試腳本適用于多個(gè)平臺(tái)的效果;減少了現(xiàn)有技術(shù)中,對于用例層、關(guān)鍵字層的冗余測試代碼,并使得頁面層中的頁面元素部分更加清晰,并且需要針對多個(gè)平臺(tái)維護(hù)僅一次元素動(dòng)作部分即可。

其中,在編寫模塊上創(chuàng)建自動(dòng)化測試腳本;關(guān)鍵字層識(shí)別模塊用于識(shí)別自動(dòng)化測試腳本中的至少一個(gè)關(guān)鍵字層;頁面層識(shí)別模塊用于識(shí)別自動(dòng)化測試腳本中的至少一個(gè)頁面層;頁面元素生成模塊用于在每個(gè)頁面層下生成對應(yīng)的頁面元素、元素動(dòng)作;并且在每個(gè)平臺(tái)上采用自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,根據(jù)平臺(tái)類型、頁面元素,生成對應(yīng)的屬于平臺(tái)的頁面元素;

創(chuàng)建支持多平臺(tái)的自動(dòng)化測試腳本的框架系統(tǒng)生成的自動(dòng)化測試腳本包含:用例層、關(guān)鍵字層以及頁面層,用例層包含至少一個(gè)關(guān)鍵字層,關(guān)鍵字層包含至少一個(gè)頁面層,頁面層包含至少一個(gè)頁面元素、元素動(dòng)作。

本發(fā)明中,用例層用于調(diào)用相關(guān)的關(guān)鍵字層,并進(jìn)行用例的驗(yàn)證。關(guān)鍵字層能夠?qū)㈨撁鎸又械脑貏?dòng)作、頁面元素進(jìn)行組裝,使每個(gè)頁面層能夠成為一個(gè)具有意義的功能模塊。

本發(fā)明中,關(guān)鍵字層識(shí)別模塊能夠識(shí)別自動(dòng)化測試腳本中至少一個(gè)關(guān)鍵字,形成相應(yīng)的至少一個(gè)關(guān)鍵字層;頁面層識(shí)別模塊識(shí)別至少一個(gè)頁面標(biāo)識(shí),形成相應(yīng)的至少一個(gè)頁面層;根據(jù)分層規(guī)范,框架系統(tǒng)將自動(dòng)化測試腳本形成用例層、至少一個(gè)關(guān)鍵字層以及至少一個(gè)頁面層。

頁面元素生成模塊包含:元素注解生成器AutoLocator、元素生成器BuildElement以及注解處理器LocatorProcessor。

元素注解生成器用于在每個(gè)頁面層中定義至少一個(gè)頁面元素的元素注解。元素生成器用于根據(jù)每個(gè)頁面元素的元素注解生成對應(yīng)的頁面元素。注解處理器用于將生成的每個(gè)頁面元素進(jìn)行生效處理。

其中,元素注解包含:元素定位符、所有應(yīng)用平臺(tái)的平臺(tái)類型、元素定位類型。

注解處理器用于將生成的每個(gè)頁面元素進(jìn)行生效處理的過程中,注解處理器用于對每個(gè)頁面元素中每個(gè)平臺(tái)類型對應(yīng)的元素定位符進(jìn)行生效處理。

在每個(gè)平臺(tái)上采用自動(dòng)化測試腳本進(jìn)行自動(dòng)化測試的過程中,驅(qū)動(dòng)模塊用于根據(jù)平臺(tái)的平臺(tái)類型生成對應(yīng)的平臺(tái)驅(qū)動(dòng)。

平臺(tái)驅(qū)動(dòng)用語根據(jù)頁面元素,找到當(dāng)前平臺(tái)類型對應(yīng)的元素定位符,生成屬于平臺(tái)的頁面元素。根據(jù)每個(gè)平臺(tái)類型,元素生成器生成對應(yīng)平臺(tái)類型的元素定位符,進(jìn)而生成對應(yīng)的頁面元素;每個(gè)頁面元素包含:每個(gè)平臺(tái)類型及其對應(yīng)的元素定位符、元素定位類型。

雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙川县| 石泉县| 陇川县| 田林县| 凤山县| 浦城县| 威海市| 定日县| 襄樊市| 磐安县| 威宁| 若尔盖县| 镇巴县| 鹤壁市| 二连浩特市| 上栗县| 巴青县| 环江| 包头市| 贵港市| 邯郸县| 恩施市| 济南市| 阿拉善左旗| 崇义县| 红桥区| 福泉市| 苍山县| 开封市| 闸北区| 平湖市| 环江| 六安市| 宜兰市| 会同县| 舞钢市| 肃宁县| 左贡县| 逊克县| 临颍县| 青浦区|