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

基于建模的web應用自動化測試方法

文檔序號:6518685閱讀:279來源:國知局
基于建模的web應用自動化測試方法
【專利摘要】一種基于建模的web應用自動化測試方法,包括:S1、建立瀏覽器,使用該瀏覽器訪問待測網(wǎng)站頁面,獲取數(shù)據(jù);S2、分析頁面,進行頁面建模,并保存至頁面建模數(shù)據(jù)文件;S3、在測試時,啟動所述瀏覽器,讀取所述頁面建模數(shù)據(jù)文件,從中獲取頁面的受測對象和測試用例,模擬用戶操作。本方法通過瀏覽器對測試頁面自動建模,并通過控制瀏覽器運行過程中調(diào)用頁面模型數(shù)據(jù),控制瀏覽器實現(xiàn)模擬用戶操作,此方法可跨瀏覽器、可跨平臺、可并行,能實現(xiàn)自動化測試從開發(fā)、執(zhí)行到維護的高效。
【專利說明】基于建模的web應用自動化測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及web測試技術(shù),更具體地,涉及基于建模的web應用自動化測試方法?!颈尘凹夹g(shù)】
[0002]互聯(lián)網(wǎng)應用正逐步滲透到人們生活的各個方面,原來需要面對面處理的事務(wù)通過網(wǎng)絡(luò)即可實現(xiàn),例如網(wǎng)上繳費、購物、更換證件。將來,互聯(lián)網(wǎng)也必然會有更多的應用。因此,各個網(wǎng)站的頁面會更新非常頻繁,這也必然導致web應用測試更頻繁。雖然現(xiàn)在已經(jīng)有了 web應用的自動化測試,但是由于用戶需求變化快、界面變化頻繁等特點,使web應用自動化測試的開展都面臨著腳本失敗率高,腳本維護成本高的困擾。即使是應用正式發(fā)布后也會有新需求源源不斷的加入,這些需求往往伴隨著界面或者控件的屬性隨之改變,導致需要重新設(shè)計和編寫自動測試方案。

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

[0003]針對上述問題,本發(fā)明提出一種基于建模的web應用自動化測試方法,包括:S1、建立瀏覽器,使用該瀏覽器訪問待測網(wǎng)站頁面,獲取數(shù)據(jù);S2、分析頁面,進行頁面建模,并保存至頁面建模數(shù)據(jù)文件;S3、在測試時,啟動所述瀏覽器,讀取所述頁面建模數(shù)據(jù)文件,從中獲取頁面的受測對象和測試用例,模擬用戶操作。
[0004]進一步,在SI中,該瀏覽器是可配置的,獲取的數(shù)據(jù)是用戶交互數(shù)據(jù)。
[0005]進一步,在S2中,所述頁面建模數(shù)據(jù)文件保存了受測對象的屬性以及測試用例。
[0006]進一步,在SI中,通過JEditorPane與JSpider瀏覽器訪問web站點。
[0007]進一步,在S2中,通過JSpider爬蟲引擎對站點待測試頁面進行頁面建模,選擇頁面上相應的受測對象并將數(shù)據(jù)保存至本地的頁面模型數(shù)據(jù)文件。
[0008]進一步,在S3中,使用Webdriver提供的接口啟動并控制所述瀏覽器,通過數(shù)據(jù)解析器從頁面建模數(shù)據(jù)文件中獲取頁面的受測對象和測試用例,根據(jù)測試用例的操作步驟,實現(xiàn)模擬用戶操作。
[0009]進一步,S3還包括:啟動所述瀏覽器,通過Jenkins持續(xù)集成平臺或命令行調(diào)用自動化腳本,腳本通過webdriver API調(diào)用所述頁面建模數(shù)據(jù)文件,并在瀏覽器中執(zhí)行腳本中相應的操作。
[0010]本方法通過瀏覽器對測試頁面自動建模,并通過控制瀏覽器運行過程中調(diào)用頁面模型數(shù)據(jù),控制瀏覽器實現(xiàn)模擬用戶操作,此方法可跨瀏覽器、可跨平臺、可并行,能實現(xiàn)自動化測試從開發(fā)、執(zhí)行到維護的高效。
【專利附圖】

【附圖說明】
[0011]圖1為本發(fā)明的方法的一個實施例的流程圖;
[0012]圖2為圖1中的頁面建模的流程圖;
[0013]圖3為本發(fā)明的系統(tǒng)的一個實施例的結(jié)構(gòu)圖;[0014]圖4為圖3中的自動測試過程的流程圖;
[0015]圖5為一個應用實例的一個截圖。
【具體實施方式】
[0016]在本發(fā)明中,“對象”指的是用戶期望在頁面中操作的對象,例如文本框、圖片、按鈕、連接等?!皩傩浴痹趆tml頁面源碼中,用來表示該對象的性質(zhì)和特性,通常都是以“對象名”=“值”的形式來表示?!皽y試用例”是包含了業(yè)務(wù)邏輯、順序、期望結(jié)果等的數(shù)據(jù)集合,是自動化測試腳本編寫的依據(jù)。
[0017]圖1為本發(fā)明的方法的一個實施例的流程圖,所述方法包括:
[0018]步驟S1、建立瀏覽器,使用該瀏覽器訪問待測頁面,其中該瀏覽器能夠抓取待測頁面的源碼。
[0019]該瀏覽器是特制的,可以用多種方式實現(xiàn)。該瀏覽器是可配置的,可展示頁面的html源碼。瀏覽器抓取的數(shù)據(jù)是頁面上的受測對象,所述受測對象可以是靜態(tài)的(例如圖片),也可以是動態(tài)的(例如用戶交互數(shù)據(jù),比如輸入框、搜索按鈕)。
[0020]有利地,所述瀏覽器能夠進行輸入、鏈接點擊等操作,還可以模擬復雜瀏覽器的功能,包括拖拽、截屏、文件上傳與下載的驗證等。更有利地,該瀏覽器能夠檢查站點的錯誤。
[0021]步驟S2、分析待測頁面的源碼,進行頁面建模,并保存至頁面模型數(shù)據(jù)文件。
[0022]頁面模型,是指自動化測試中會使用到的對象所組成的模型。
[0023]圖2顯示了如何進行頁面建模。在該步驟S2中,建模針對的是待測頁面中需要操作的對象。具體為,建模的目標是頁面中的受測對象(選擇哪些受測對象可以預先根據(jù)業(yè)務(wù)規(guī)則配置),每一個受測對象在頁面中具有固定的路徑。因此,受測對象-值(KEY-VALUE)就形成了該頁面的模型。將該受測對象-值存儲到文件中,形成頁面模型數(shù)據(jù)文件。其中,VALUE保存的是受測對象的路徑。在一個實施例中,VALUE保存的是XPATH的值。XPATH是XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。XPATH基于XML的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。因此,用XPATH的值可以定位受測對象在頁面中的位置。
[0024]其中,如果待測頁面不涉及用戶操作,可以直接對頁面進行建模,形成頁面模型。
[0025]如果待測頁面中包括需要用戶操作的對象,例如某些控件,則通過用戶在頁面中對對象的操作,自動生成受測對象與值。通過用戶在頁面中的操作將需要操作的對象選取出來,因為頁面上的對象成百上千,但是自動化腳本中所使用的只是很小一部分,通過用戶的操作將真正使用的對象做成頁面模型。通過用戶在頁面中對控件的操作,獲得受測對象與值。
[0026]步驟S3、在測試時,啟動所述瀏覽器,讀取所述頁面模型數(shù)據(jù)文件,從中獲取頁面的受測對象和值,進行頁面測試。
[0027]更進一步,在測試時,啟動所述瀏覽器,讀取所述頁面模型數(shù)據(jù)文件,從中獲取頁面的受測對象和值,用測試用例模擬用戶操作。
[0028]因此,在本發(fā)明中,邏輯和數(shù)據(jù)不再耦合在一起,本發(fā)明通過進行頁面建模,將頁面屬性和頁面數(shù)據(jù)分離開,當頁面變更后,只需要對頁面重新建?;蛘吒聹y試用例,即可進行自動測試。[0029]本方法通過瀏覽器對測試頁面自動建模,并通過控制瀏覽器運行過程中調(diào)用頁面模型數(shù)據(jù),控制瀏覽器實現(xiàn)模擬用戶操作,此方法可跨瀏覽器、可跨平臺、可并行,能實現(xiàn)自動化測試從開發(fā)、執(zhí)行到維護的高效。
[0030]在現(xiàn)有技術(shù)中,在web自動化測試開展的過程中,腳本開發(fā)難度大與維護成本高,自動化成本高。而在本發(fā)明中,當頁面變更引起腳本執(zhí)行失敗時,通過頁面重新建?;蛑苯有薷谋镜財?shù)據(jù)文件,即可自動完成頁面數(shù)據(jù)維護工作。頁面重新建模就是在瀏覽器中重新操作控件,刷新控件對象的KEY-VALUE值,直接修改本地數(shù)據(jù)文件即直接在本地文件中更新XPATH值。
[0031]在本發(fā)明中,邏輯層單獨維護,邏輯層即是測試用例中的用例邏輯,比如點擊某個按鈕,在某個指定框輸入文本或者選擇某個下拉框中的選項。一般來說項目進入維護期后,業(yè)務(wù)邏輯變動較小,頁面樣式或元素變更大些,但因為邏輯分離以后,如果頁面元素路徑變了,只需要維護頁面模型文件中的路徑就可以了,這樣就大大提高自動化測試在web項目中運用的靈活性,使web自動化測試后期的維護與執(zhí)行均無需大量的編碼工作,為web應用提供了一套低成本并且簡單、高效的web自動化測試方法。
[0032]圖3顯示了本發(fā)明的另一個實施例的流程圖。
[0033]首先,通過JEditorPane與JSpider瀏覽器訪問web站點。
[0034]然后,通過JSpider爬蟲引擎對站點待測試頁面進行頁面建模,選擇頁面上相應的受測對象并將數(shù)據(jù)保存至本地的頁面模型數(shù)據(jù)文件,完成頁面建模。
[0035]最后,建模完成后,使用Webdriver提供的接口啟動并控制所述瀏覽器,通過自制數(shù)據(jù)解析器從數(shù)據(jù)文件中獲取頁面的對象,根據(jù)測試用例的操作步驟,實現(xiàn)模擬用戶操作。用例執(zhí)行結(jié)束后,關(guān)閉瀏覽器。通過Jenkins持續(xù)集成平臺或命令行調(diào)用自動化腳本,腳本通過webdriverAPI調(diào)用頁面模型的數(shù)據(jù)文件,實現(xiàn)了啟動并控制瀏覽器,并在瀏覽器中執(zhí)行腳本中相應的操作,整個過程都是可視化的,該方法流程如圖4所示。
[0036]使用此方法當頁面發(fā)生變更后,只需要重新執(zhí)行一次建模流程或者直接修改頁面數(shù)據(jù)文件即可完成頁面建模,對自動化測試執(zhí)行流程不造成任何影響。
[0037]下面以一個實例來描述本發(fā)明的實施過程,如圖5所示。使用特制瀏覽器訪問京東的主頁,操作待測頁面,進行頁面建模,并保存至頁面模型數(shù)據(jù)文件。模擬用戶操作在待測對象(圖上方的搜索框)中輸入“戴爾XPS”,獲得受測對象與值。將該待測對象和值存儲在excel文件中,作為頁面模型數(shù)據(jù)文件。該頁面模型數(shù)據(jù)文件中保持了如下信息:
[0038]受測對象:search_Input;值://input [@id=,key,]。
[0039]在測試時,啟動所述瀏覽器,讀取所述頁面模型數(shù)據(jù)文件,從中獲取頁面的受測對象和值,模擬用戶操作,進行頁面測試。
[0040]上述實施例為本發(fā)明的典型的實施方式,但本發(fā)明并不受上述實施例的限制,其他任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、替代、組合、簡化,均為等效的置換方式,包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種基于建模的web應用自動化測試方法,其特征在于,包括: 51、建立瀏覽器,使用該瀏覽器訪問待測網(wǎng)站頁面,獲取數(shù)據(jù); 52、分析頁面,進行頁面建模,并保存至頁面建模數(shù)據(jù)文件; 53、在測試時,啟動所述瀏覽器,讀取所述頁面建模數(shù)據(jù)文件,從中獲取頁面的受測對象和測試用例,模擬用戶操作。
2.根據(jù)權(quán)利要求1所述的基于建模的web應用自動化測試方法,其特征在于,在SI中,該瀏覽器是可配置的,獲取的數(shù)據(jù)是用戶交互數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的基于建模的web應用自動化測試方法,其特征在于,在S2中,所述頁面建模數(shù)據(jù)文件保存了受測對象的屬性以及測試用例。
4.根據(jù)權(quán)利要求1所述的基于建模的web應用自動化測試方法,其特征在于,在SI中,通過JEditorPane與JSpider瀏覽器訪問web站點。
5.根據(jù)權(quán)利要求1所述的基于建模的web應用自動化測試方法,其特征在于,在S2中,通過JSpider爬蟲引擎對站點待測試頁面進行頁面建模,選擇頁面上相應的受測對象并將數(shù)據(jù)保存至本地的頁面模型數(shù)據(jù)文件。
6.根據(jù)權(quán)利要求1所述的基于建模的web應用自動化測試方法,其特征在于,在S3中,使用Webdriver提供的接口啟動并控制所述瀏覽器,通過數(shù)據(jù)解析器從頁面建模數(shù)據(jù)文件中獲取頁面的受測對象和測試用例,根據(jù)測試用例的操作步驟,實現(xiàn)模擬用戶操作。
7.根據(jù)權(quán)利要求6所述的基于建模的web應用自動化測試方法,其特征在于,S3還包括:啟動所述瀏覽器,通過Jenkins持續(xù)集成平臺或命令行調(diào)用自動化腳本,腳本通過webdriver API調(diào)用所述頁面建模數(shù)據(jù)文件,并在瀏覽器中執(zhí)行腳本中相應的操作。
【文檔編號】G06F11/36GK103678120SQ201310560257
【公開日】2014年3月26日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】楊瑾 申請人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀貿(mào)易有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
万安县| 巧家县| 延边| 大冶市| 三江| 民勤县| 专栏| 明光市| 祁门县| 宝山区| 抚顺县| 九龙县| 信阳市| 新余市| 宣汉县| 宝山区| 麻城市| 芜湖市| 克拉玛依市| 麻江县| 赤峰市| 天长市| 行唐县| 云林县| 古蔺县| 新余市| 商洛市| 那坡县| 广丰县| 连州市| 宜黄县| 威信县| 清苑县| 潮安县| 札达县| 武功县| 潜江市| 扎赉特旗| 宁安市| 黔东| 稻城县|