亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種ui自動(dòng)化測(cè)試方法和系統(tǒng)的制作方法

文檔序號(hào):8472885閱讀:284來(lái)源:國(guó)知局
一種ui自動(dòng)化測(cè)試方法和系統(tǒng)的制作方法
【專利說(shuō)明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)測(cè)試技術(shù)領(lǐng)域,特別涉及一種Π (用戶界面)自動(dòng)化測(cè)試方法和系統(tǒng)。
【【背景技術(shù)】】
[0002]目前越來(lái)越多的公司或企業(yè)在平時(shí)的質(zhì)量保證工作中引入Π自動(dòng)化來(lái)代替人工測(cè)試,以提高效率降低人力成本,但是Π自動(dòng)化測(cè)試框架不管是通過(guò)人工寫代碼還是通過(guò)錄制腳本的方式,都是基于頁(yè)面上控件的定位,而控件定位的過(guò)程是相當(dāng)耗時(shí)的,目前采用的定位方式都是基于控件屬性的,這就會(huì)造成有些控件屬性是隨機(jī)變化或者不存在的,那么定位就更加耗時(shí),并且給UI自動(dòng)化測(cè)試框架帶來(lái)不穩(wěn)定性。
[0003]另外,現(xiàn)有的UI自動(dòng)化測(cè)試框架基于ruby (—種面向?qū)ο蟪绦蛟O(shè)計(jì)的腳本語(yǔ)言),測(cè)試代碼與測(cè)試用例寫在同一個(gè)文件中,需要額外的代碼對(duì)測(cè)試用例進(jìn)行解析,編輯起來(lái)也很麻煩。

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

[0004]有鑒于此,本發(fā)明提供了一種UI自動(dòng)化測(cè)試方法和系統(tǒng),以便于提高測(cè)試效率,同時(shí)實(shí)現(xiàn)實(shí)例的更有效組織。
[0005]具體技術(shù)方案如下:
[0006]本發(fā)明提供了一種用戶界面Π自動(dòng)化測(cè)試方法,該方法包括:
[0007]測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件,并由測(cè)試用例驅(qū)動(dòng)測(cè)試代碼的運(yùn)行;
[0008]所述測(cè)試代碼在運(yùn)行過(guò)程中調(diào)用圖片定位工具提供的應(yīng)用程序編程接口 API來(lái)進(jìn)行控件定位。
[0009]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,在Π自動(dòng)化測(cè)試框架中集成testNG插件或者在testNG基礎(chǔ)上的二次封裝工具插件以實(shí)現(xiàn)所述測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件,并由測(cè)試用例驅(qū)動(dòng)測(cè)試代碼的運(yùn)行;
[0010]所述在testNG基礎(chǔ)上的二次封裝工具包括JSpec、jtester或者Qtester。
[0011]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述由測(cè)試用例驅(qū)動(dòng)測(cè)試代碼的運(yùn)行包括:
[0012]各測(cè)試用例驅(qū)動(dòng)編輯器中各測(cè)試用例對(duì)應(yīng)的測(cè)試代碼進(jìn)行調(diào)試運(yùn)行。
[0013]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,該方法還包括:
[0014]將調(diào)試通過(guò)的測(cè)試代碼提交到持續(xù)集成服務(wù)器,由持續(xù)集成服務(wù)器將測(cè)試代碼發(fā)送到能夠運(yùn)行該測(cè)試代碼的自動(dòng)化執(zhí)行機(jī)器上運(yùn)行。
[0015]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述測(cè)試代碼在運(yùn)行過(guò)程中調(diào)用圖片定位工具提供的API來(lái)進(jìn)行控件定位包括:
[0016]所述測(cè)試代碼在運(yùn)行過(guò)程中,如果進(jìn)行某控件的定位,則從預(yù)設(shè)目錄下獲取該控件的截圖并調(diào)用圖片定位工具提供的API,獲取圖片定位工具利用該控件的截圖在被測(cè)對(duì)象上進(jìn)行匹配后得到的控件定位結(jié)果。
[0017]本發(fā)明還提供了一種Π自動(dòng)化測(cè)試系統(tǒng),該系統(tǒng)包括:
[0018]用例組織單元,用于將測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件;
[0019]代碼運(yùn)行單元,用于在所述測(cè)試用例的驅(qū)動(dòng)下運(yùn)行測(cè)試代碼,所述測(cè)試代碼在運(yùn)行過(guò)程中調(diào)用圖片定位工具提供的API來(lái)進(jìn)行控件定位。
[0020]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述用例組織單元采用在UI自動(dòng)化測(cè)試框架中集成testNG插件或者在testNG基礎(chǔ)上的二次封裝工具插件以實(shí)現(xiàn)所述測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件;所述在testNG基礎(chǔ)上的二次封裝工具包括JSpec、jtester或者Qtester。
[0021]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述代碼運(yùn)行單元具體包括:代碼調(diào)試子單元,用于在各測(cè)試用例的驅(qū)動(dòng)下,在編輯器中對(duì)各測(cè)試用例對(duì)應(yīng)的測(cè)試代碼進(jìn)行調(diào)試運(yùn)行。
[0022]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述代碼運(yùn)行單元還包括代碼提交子單元,該系統(tǒng)還包括持續(xù)集成服務(wù)器和自動(dòng)化執(zhí)行機(jī)器;
[0023]所述代碼提交子單元,用于將調(diào)試通過(guò)的測(cè)試代碼提交到所述持續(xù)集成服務(wù)器;
[0024]所述持續(xù)集成服務(wù)器,用于將測(cè)試代碼發(fā)送到能夠運(yùn)行該測(cè)試代碼的自動(dòng)化執(zhí)行機(jī)器;
[0025]所述自動(dòng)化執(zhí)行機(jī)器,用于運(yùn)行接收到的測(cè)試代碼。
[0026]根據(jù)本發(fā)明一優(yōu)選實(shí)施方式,所述測(cè)試代碼在運(yùn)行過(guò)程中,如果進(jìn)行某控件的定位,則從預(yù)設(shè)目錄下獲取該控件的截圖并調(diào)用圖片定位工具提供的API,獲取圖片定位工具利用該控件的截圖在被測(cè)對(duì)象上進(jìn)行匹配后得到的控件定位結(jié)果。
[0027]由以上技術(shù)方案可以看出,在本發(fā)明中控件定位不再依賴控件屬性,而是采用圖片匹配定位的方式,從而提高了測(cè)試效率,同時(shí)測(cè)試用例與測(cè)試代碼分離,無(wú)需采用額外的代碼進(jìn)行測(cè)試用例的解析,進(jìn)一步提高了測(cè)試效率,并且后期對(duì)測(cè)試用例的刪減、修改或統(tǒng)計(jì)只需要在測(cè)試用例的文件中進(jìn)行,不必重新編寫測(cè)試代碼,方便進(jìn)行管理和維護(hù)。
【【附圖說(shuō)明】】
[0028]圖1為本發(fā)明實(shí)施例一提供的UI自動(dòng)化測(cè)試方法流程圖;
[0029]圖2為本發(fā)明實(shí)施例一對(duì)應(yīng)的系統(tǒng)架構(gòu)示意圖;
[0030]圖3為本發(fā)明實(shí)施例一提供的自動(dòng)化測(cè)試的基本代碼結(jié)構(gòu);
[0031]圖4為本發(fā)明實(shí)施例二提供的UI自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)圖。
【【具體實(shí)施方式】】
[0032]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0033]本發(fā)明的核心思想在于:在組織測(cè)試用例時(shí),采用測(cè)試用例與測(cè)試代碼分離的方式,將測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件,在測(cè)試代碼中調(diào)用采用圖片匹配定位工具的API (應(yīng)用程序編程接口)來(lái)進(jìn)行控件定位。下面通過(guò)實(shí)施例一對(duì)本發(fā)明提供的Π自動(dòng)化測(cè)試方法進(jìn)行詳細(xì)描述。
[0034]實(shí)施例一、
[0035]圖1為本發(fā)明實(shí)施例一提供的Π自動(dòng)化測(cè)試方法流程圖,該流程圖對(duì)應(yīng)的系統(tǒng)架構(gòu)如圖2中所示。如圖1中所示,該方法具體包括:
[0036]步驟101:通過(guò)在JSpec中編寫的測(cè)試用例驅(qū)動(dòng)編輯器中測(cè)試代碼的運(yùn)行。
[0037]在本發(fā)明中要實(shí)現(xiàn)測(cè)試用例與測(cè)試代碼分別存儲(chǔ)于不同的文件,并由測(cè)試用例驅(qū)動(dòng)測(cè)試代碼的運(yùn)行,需要將testNG或者在testNG基礎(chǔ)上的二次封裝工具引入Π自動(dòng)化測(cè)試,即在Π自動(dòng)化測(cè)試框架中集成testNG插件或者在testNG基礎(chǔ)上的二次封裝工具插件。testNG (Testing Next Gernerat1n,下一代測(cè)試技術(shù))是一種開源工具,根據(jù)JUnit和Nunit思想而構(gòu)建的利用注釋來(lái)強(qiáng)化測(cè)試功能的測(cè)試框架。上述在testNG基礎(chǔ)上的二次封裝工具可以包括但不限于JSpec、jtester或者Qtester。
[0038]在本發(fā)明實(shí)施例中在Π自動(dòng)化測(cè)試框架中集成JSpec插件,采用JSpec所提供的story的方式來(lái)組織測(cè)試用例。在以往的技術(shù)中,JSpec通常用于單元測(cè)試,在本發(fā)明實(shí)施例中將單元測(cè)試的框架引入Π自動(dòng)化測(cè)試框架,在此Π自動(dòng)化測(cè)試框架可以采用Eclipse(Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境)。
[0039]舉一個(gè)例子來(lái)說(shuō)明利用JSpec提供的Story方式來(lái)組織測(cè)試用例的方式,假設(shè)需要在百度搜索框中分別輸入“mp3”、“mp4”、“mp5”關(guān)鍵字進(jìn)行查詢測(cè)試,那么利用JSpec組織測(cè)試用例的格式如下:
[0040]O Story
[0041]功能描述:測(cè)試百度搜索
[0042]作者:***
[0043]修改時(shí)間:2013-12-13
[0044]測(cè)試用例集合:
[0045][CaseOl] input:mp3
[0046][Case02] input: mp4
[0047][Case03] input: mp5
[0048]O Scenar1 easel:1nput:mp3
[0049]〇 Given init test data
[0050]〇When testJSpec
[0051][ input= “mp3”】
[0052]〇 Then check result
[0053]〇 Then delete test data
[0054]O Scenar1 case2:1nput:mp4
[0055]〇 Given init test data
[0056]〇When testJSpec
[0057][input= “mp4”】
[0058]〇 Then check result
[0059]〇 Then delete test data
[0060]O Scenar1 case3:1nput:mp5
[0061]O Given init test data
[0062]O When testJSpec
[0063]【input=“mp5”】
[0064]〇Then check result
[0065]〇Then delete test data
[0066]上述格式中,Story到Scenar1中間的部分是測(cè)試用例的說(shuō)明部分,類似注釋,主要說(shuō)明本次測(cè)試用例集合主要測(cè)試什么功能,包括哪些測(cè)試用例。每一個(gè)Scenar1對(duì)應(yīng)一個(gè)測(cè)試用例,其中Given部分是測(cè)試數(shù)據(jù)準(zhǔn)備部分,如果沒有可以為空;When部分是測(cè)試代碼所在部分,方法名,對(duì)應(yīng)測(cè)試代碼中的測(cè)試方法;【】中的部分為傳遞的參數(shù);Then部分是測(cè)試后的檢驗(yàn)和校驗(yàn)以及測(cè)試數(shù)據(jù)清理,如果沒有可以為空。
[0067]這種組織形式的好處在于,Story中每個(gè)測(cè)試用例十分清晰,無(wú)需額外的代碼進(jìn)行解析;如果后期需要添加測(cè)試用例,只需要在Story中添加一個(gè)Scenar1即可,或者,如果需要?jiǎng)h減、修改或統(tǒng)計(jì)測(cè)試用例,也只需要在Story文件中進(jìn)行編輯,給Π自動(dòng)化開發(fā)和維護(hù)帶來(lái)很大的方便。
[0068]如果采用jtester,則采用wiki文件來(lái)組織測(cè)試用例,如果采用Qtester,則可以采用wiki文件或excel文件來(lái)組織測(cè)試用例,在此不再--贅述。
[0069]步驟102:編輯器中測(cè)試代碼的調(diào)試運(yùn)行過(guò)程中調(diào)用sikuli提供的API進(jìn)行控件定位。
[0070]在UI自動(dòng)化測(cè)試的開發(fā)過(guò)程中,自動(dòng)化執(zhí)行測(cè)試之前會(huì)在編輯器中對(duì)編寫的測(cè)試代碼進(jìn)行調(diào)試,調(diào)試過(guò)程中的測(cè)試代碼運(yùn)行按照測(cè)試用例的驅(qū)動(dòng)。在本發(fā)明實(shí)施例中,測(cè)試代碼的業(yè)務(wù)邏輯層調(diào)用底層的API進(jìn)行控件定位,該API是采用圖片匹配定位方式的工具提供的,本發(fā)明實(shí)施例中以sikuli為例,還可以采用諸如webdriver等其他工具。
[0071]sikuli是一種圖形腳本語(yǔ)言,可以利用控件截圖在頁(yè)面上進(jìn)行匹配的方式進(jìn)行控件定位。本發(fā)明實(shí)施例中在Eclipse中引入sikuli提供的控件截圖包,在測(cè)試代碼的業(yè)務(wù)邏輯層中調(diào)用sikuli提供的API實(shí)現(xiàn)控件定位。
[0072]本Π自動(dòng)化測(cè)試的基本代碼結(jié)構(gòu)可以如圖3中的目錄結(jié)構(gòu)所示,其中,testJSpec.java是測(cè)試代碼,可以根據(jù)自己的需要調(diào)整目錄結(jié)構(gòu)。testJSpec.story是測(cè)試用例組織管理文件,一般是和相對(duì)應(yīng)的測(cè)試代碼放在一起,從而方便實(shí)現(xiàn)測(cè)試代碼的驅(qū)動(dòng),可見測(cè)試用例和測(cè)試代碼是分別放在.story文件和.java文件中的。img目錄中存放的是控件定位時(shí)用到的
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1