亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于二元結(jié)構(gòu)的腳本生成方法

文檔序號(hào):6603526閱讀:259來源:國(guó)知局
專利名稱:一種基于二元結(jié)構(gòu)的腳本生成方法
技術(shù)領(lǐng)域
本發(fā)明是一種腳本體系生成方法,屬于軟件自動(dòng)化測(cè)試技術(shù)中的腳本生成技術(shù)領(lǐng) 域。
背景技術(shù)
軟件測(cè)試是軟件開發(fā)過程中不可缺少的部分,其目的是盡可能發(fā)現(xiàn)軟件中存在的 缺陷和錯(cuò)誤并進(jìn)行修改,以提高軟件的質(zhì)量和可靠性。據(jù)統(tǒng)計(jì)表明,軟件測(cè)試開銷占用了整 個(gè)軟件開發(fā)的30% 50%。隨著軟件功能和復(fù)雜度的不斷提升,作為可以提高軟件質(zhì)量的 軟件自動(dòng)化測(cè)試已成為研究熱點(diǎn)。測(cè)試腳本在自動(dòng)化測(cè)試中扮演著重要的角色,腳本的設(shè)計(jì)和創(chuàng)建直接影響測(cè)試結(jié) 果的再現(xiàn)。目前,常用的腳本技術(shù)有四種線性腳本、結(jié)構(gòu)化腳本、數(shù)據(jù)驅(qū)動(dòng)腳本和關(guān)鍵字 驅(qū)動(dòng)腳本。線性腳本完全基于手工操作,記錄操作步驟,開發(fā)成本低,但是不具有邏輯功能, 后期維護(hù)成本很高;結(jié)構(gòu)化腳本采用多種邏輯結(jié)構(gòu)來實(shí)現(xiàn)結(jié)構(gòu)化控制,編寫復(fù)雜,開發(fā)成本 較高,后期維護(hù)成本低;數(shù)據(jù)驅(qū)動(dòng)腳本將腳本與數(shù)據(jù)分離,修改測(cè)試數(shù)據(jù)不會(huì)對(duì)腳本產(chǎn)生影 響,開發(fā)成本相對(duì)結(jié)構(gòu)化腳本要高,后期維護(hù)成本低;關(guān)鍵字驅(qū)動(dòng)腳本封裝了各種基本操 作,由關(guān)鍵字來調(diào)用操作,維護(hù)很容易,但是要求測(cè)試人員有很好的編程能力。然而在出現(xiàn) 多個(gè)嵌套窗口并且每個(gè)窗口均有相應(yīng)操作的情況下,傳統(tǒng)的腳本技術(shù)就會(huì)呈現(xiàn)出腳本多層 次嵌套、結(jié)構(gòu)復(fù)雜的弊端,導(dǎo)致腳本回放時(shí)響應(yīng)時(shí)間慢,不能滿足實(shí)時(shí)性,同時(shí)不易于維護(hù)。 由此可見,軟件功能日益復(fù)雜的今天,傳統(tǒng)的腳本技術(shù)已不能滿足用戶的需求。

發(fā)明內(nèi)容
技術(shù)問題本發(fā)明目的是針對(duì)現(xiàn)有技術(shù)存在的缺陷提供一種基于二元結(jié)構(gòu)的腳本 生成方法。解決當(dāng)前國(guó)內(nèi)外優(yōu)秀的商業(yè)自動(dòng)化測(cè)試工具在具有復(fù)雜框架的窗口中產(chǎn)生過于 復(fù)雜腳本的問題,使自動(dòng)化腳本至多有兩級(jí)嵌套。簡(jiǎn)化腳本結(jié)構(gòu),提高腳本的易用性和可維 護(hù)性,提高測(cè)試效率。技術(shù)方案本發(fā)明為實(shí)現(xiàn)上述目的,采用如下技術(shù)方案本發(fā)明是一種基于二元結(jié)構(gòu)的腳本生成方法,其特征在于所述方法如下步驟(1)對(duì)象錄制在錄制對(duì)象時(shí),首先對(duì)窗口進(jìn)行錄制,窗口即一個(gè)獨(dú)立的 主對(duì)象,通過窗口標(biāo)題來識(shí)別窗口 ;然后將窗口內(nèi)的所有控件設(shè)置為窗口的子對(duì)象,完 成對(duì)象錄制后,將對(duì)象以二元結(jié)構(gòu)的形式使用可擴(kuò)展標(biāo)識(shí)語言xml進(jìn)行保存,記錄在 ObjectDefinition. xml 文件中;步驟(2)在對(duì)象錄制完成的基礎(chǔ)上,對(duì)事先錄制的對(duì)象節(jié)點(diǎn)創(chuàng)建場(chǎng)景,同時(shí)根據(jù) 測(cè)試用例的需求創(chuàng)建場(chǎng)景樹并生成場(chǎng)景文件Scenarios, xml。優(yōu)選地,所述對(duì)象采用框架索引(Framelndex)、同類控件計(jì)數(shù)索引(Countlndex) 和組合識(shí)別方式使得控件對(duì)象嵌套層級(jí)至多為兩級(jí),形成二元結(jié)構(gòu)的對(duì)象管理體系。有益效果
(1)基于二元結(jié)構(gòu)的腳本體系,避免了產(chǎn)生過于復(fù)雜腳本的問題;(2)由于腳本結(jié)構(gòu)簡(jiǎn)單,只有兩級(jí)嵌套,便于大規(guī)模自動(dòng)產(chǎn)生腳本,對(duì)于測(cè)試人員來說規(guī)范易懂也容易操作,節(jié)省測(cè)試時(shí)間;(3) 二元結(jié)構(gòu)的腳本邏輯性非常強(qiáng),提高了可維護(hù)性,降低日后的腳本維護(hù)成本;(4)腳本簡(jiǎn)單,提高自動(dòng)化測(cè)試軟件的運(yùn)行速率同時(shí)提高了測(cè)試效率。


圖1 是使用本發(fā)明的自動(dòng)化測(cè)試體系。
具體實(shí)施例方式下面結(jié)合附圖對(duì)發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明如圖1所示,本發(fā)明通過實(shí)現(xiàn)二元結(jié)構(gòu)的對(duì)象管理體系,生成二元結(jié)構(gòu)的獨(dú)立場(chǎng) 景,從而確保自動(dòng)產(chǎn)生二元結(jié)構(gòu)的腳本體系。(1)在錄制對(duì)象時(shí),首先對(duì)窗口進(jìn)行錄制,窗口即一個(gè)獨(dú)立的主對(duì)象,通過窗口 標(biāo)題來識(shí)別窗口 ;然后該窗口內(nèi)的所有控件看成是窗口對(duì)象的子對(duì)象,通過控件屬性如 對(duì)象名稱、對(duì)象類型等來標(biāo)識(shí)。通過引入框架索引(Framelndex)、同類控件計(jì)數(shù)索引 (CountIndex)和組合識(shí)別方式使得控件對(duì)象嵌套層級(jí)至多為兩級(jí),形成二元結(jié)構(gòu)的對(duì)象管 理體系;同時(shí)采用框選和連續(xù)單點(diǎn)提高對(duì)象錄制的效率。復(fù)雜窗口中,通常存在多個(gè)框架,引入Framelndex按照窗口加載順序來標(biāo)記 框架,如“Framelndex = 0”作為框架內(nèi)控件的屬性之一,若存在嵌套框架,可表示成 "Framelndex = 0_1”,表示0號(hào)框架中的1號(hào)子框架,如此可以消除復(fù)雜頁(yè)面中的多層嵌 套,保持對(duì)象管理系統(tǒng)的二元結(jié)構(gòu),而且可以提高對(duì)象反選速度。類似Framelndex的引入原理,當(dāng)同一個(gè)窗口中存在多個(gè)相同控件且其它屬性 不能唯一標(biāo)識(shí)該控件時(shí),如 WebCheckBox,WebRadioGroup, WebLink, WebSpan, WebDiv, WebElement等。采用同類控件計(jì)數(shù)(Coimtlndex)標(biāo)記控件,從O開始根據(jù)同一類型控件的 索引進(jìn)行標(biāo)識(shí),如“Coimtlndex = 2”表示該控件是此類型控件中的第3個(gè)。對(duì)于窗口中無法識(shí)別的對(duì)象,采用組合識(shí)別方式來實(shí)現(xiàn)。即利用附近可識(shí)別對(duì) 象來搜索目標(biāo)對(duì)象。首先對(duì)附近對(duì)象完成偵測(cè)操作,編輯目標(biāo)對(duì)象所屬類型如圖1,利用 howtofind方法進(jìn)行搜索。howtofind提供了 range和de印兩種搜索方式,range只是由 內(nèi)而外依次從子級(jí)向父級(jí)進(jìn)行單向搜索;而deep可實(shí)現(xiàn)雙向搜索,當(dāng)子級(jí)向父級(jí)搜索不成 功時(shí),可繼續(xù)由外而內(nèi)依次從父級(jí)向子級(jí)進(jìn)行全面的搜索,以確保找到目標(biāo)對(duì)象。上述三種對(duì)象錄制技術(shù)實(shí)現(xiàn)了窗口和控件始終以二元結(jié)構(gòu)的形式呈現(xiàn),確??丶?對(duì)象嵌套層級(jí)至多為兩級(jí)。完成對(duì)象錄制后,將對(duì)象以二元結(jié)構(gòu)的形式使用可擴(kuò)展標(biāo)識(shí)語 言xml進(jìn)行保存,記錄在ObjectDefinition. xml文件中。其結(jié)構(gòu)如下〈Objects〉〈Object ID = 〃 網(wǎng)易〃 Type=" Browser"Property = " openurl = http://mail. 163. com/. 〃 >〈Object ID = " username " Type = " WebEdit " Property = " Name = username" />
〈Object ID = ‘’ password ‘’ Type = ‘’ WebEdit ‘’ Property = ‘’ Name =
password'〈Object ID = 〃 登錄〃 Type=" WebButton" Property = " Value =登錄〃 />〈/Object〉〈Object ID = 〃 D 盤〃 Type=" Window" Property = " opentitle =^iWI
〈Object ID="新建文件夾"Type=" Listltem" Property = " Name =新
盤(D:)〃 >
建文件夾"/>〈/Object〉〈/Objects〉〈Objects〉和〈/Objects〉是xml的根節(jié)點(diǎn),分別表示xml語言的標(biāo)記開始和結(jié) 束;"Type = Browser,,和 “Type = Window,,表示父級(jí)類型,瀏覽器窗口是 “Browser,,,而 Windows 窗口是“Window,,;"Property = “ openurl = http://mail. 163. com/. 〃 ”是 用于查找父窗體的條件;‘‘Object ID = " username" ”是窗體中的子元素即子對(duì)象;‘‘Type ="WebEdit" ”是子元素‘‘username” 的類型;‘‘Property = “ Name = Username" ”是查 找子元素“username”的條件;為了提高測(cè)試效率,提出了框選和連續(xù)單點(diǎn)方案。測(cè)試人員可在錄制對(duì)象時(shí),選擇 “偵測(cè)所選”模式,使用拖拉鼠標(biāo)的方式,框選需要錄制的對(duì)象就可將這些對(duì)象成功錄制下 來;或者在“偵測(cè)所選”模式下連續(xù)單擊多個(gè)需要錄制的對(duì)象,實(shí)現(xiàn)同時(shí)錄制多個(gè)對(duì)象。此 方案避免了反復(fù)多次偵測(cè)同一窗口的對(duì)象,節(jié)省時(shí)間,提高了易用性和測(cè)試效率。(2)在對(duì)象錄制完成的基礎(chǔ)上,測(cè)試人員可對(duì)事先錄制的對(duì)象節(jié)點(diǎn)創(chuàng)建場(chǎng)景,同時(shí) 根據(jù)測(cè)試用例的需求創(chuàng)建場(chǎng)景樹并生成場(chǎng)景文件Scenarios, xml,設(shè)計(jì)思想與對(duì)象定義文 件類似,在每個(gè)獨(dú)立場(chǎng)景中采用二元結(jié)構(gòu)的描述方式?!碨cenarios〉〈Scenario ID = 〃 網(wǎng)易〃 >〈Step ObjID = 〃 網(wǎng)易〃 Method = “ Navigate “ Value = “ http:// mail. 163. com/" Type=" Action" ID=" http://mail.163.com/_Navigate" />
username
〃 />〈Step ObjID =“ ="Action" ID=" username<Step ObjID = " password ="Action" ID=" password" />〈Step ObjID = 〃 登錄〃 =〃 Action" ID =〃 登錄〃 />
Method = “ Set “ Value = “ xxxx “ Type
Method = “ Set “ Value = “ yyyy “ Type
Method = “ Click “ Value =
Type
</Scenario>〈Scenario ID = 〃 D 盤〃 >〈Step ObjID = "新建文件夾 ="Action" ID =〃 新建文件夾〃 /></Scenario></Scenarios>
Method = " Click" Value =
Type
同樣,〈Scenarios〉和〈/Scenarios〉是 xml 的根節(jié)點(diǎn);〈Scenario ID = "網(wǎng)易〃 > 表示本場(chǎng)景的ID,在場(chǎng)景ID中必須唯一可標(biāo)識(shí);“St印ObjID =“網(wǎng)易〃 ”表示場(chǎng)景下 的步驟,“Ob jID”表示此步驟的執(zhí)行對(duì)象;“Method”表示方法;“Value”表示此方法的值; “Type”表示步驟類型;“ID”是指步驟ID,也必須唯一可標(biāo)識(shí)。在自動(dòng)化測(cè)試執(zhí)行測(cè)試用例前,首先要生成測(cè)試腳本。本發(fā)明的腳本基于 對(duì)象定義文件ObjectDefinition. xml和場(chǎng)景文件Scenarios, xml自動(dòng)生成。由于 ObjectDefinition. xml和Scenarios, xml確保了二元結(jié)構(gòu)的對(duì)象管理體系和場(chǎng)景管理體 系,所以自動(dòng)生成的腳本必然也是二元結(jié)構(gòu)的,始終以“窗口、控件”的二元體系來詮釋整個(gè) 測(cè)試過程。實(shí)施例(1)測(cè)試用例設(shè)計(jì)測(cè)試人員根據(jù)測(cè)試需求編寫測(cè)試用例,測(cè)試用例要盡可能覆 蓋測(cè)試場(chǎng)景中可能發(fā)生的情況。(2)對(duì)象錄制測(cè)試人員根據(jù)測(cè)試用例,對(duì)窗口進(jìn)行錄制,在錄制過程中可以對(duì)對(duì) 象進(jìn)行編輯,使之易懂,方便日后維護(hù),并使用本發(fā)明二元結(jié)構(gòu)的xml保存思想對(duì)對(duì)象進(jìn)行 保存,生成 ObjectDefinition. xml 文件。(3)場(chǎng)景創(chuàng)建對(duì)象錄制工作完成后,根據(jù)測(cè)試用例需求創(chuàng)建樹形場(chǎng)景,并使用本 發(fā)明二元結(jié)構(gòu)的xml保存思想對(duì)每個(gè)場(chǎng)景進(jìn)行保存,生成Scenarios, xml。(4)腳本生成基于對(duì)象定義文件ObjectDefinition. xml和場(chǎng)景文件Scenarios, xml自動(dòng)生成“窗體、控件”形式的二元結(jié)構(gòu)的腳本。(5)執(zhí)行腳本執(zhí)行腳本,達(dá)到測(cè)試目的。(6)修改腳本當(dāng)腳本執(zhí)行發(fā)生錯(cuò)誤時(shí),需對(duì)腳本進(jìn)行修改,采用本發(fā)明的腳本, 可以讓測(cè)試人員快速定位到發(fā)生錯(cuò)誤的對(duì)象和場(chǎng)景,提高測(cè)試效率。
權(quán)利要求
一種基于二元結(jié)構(gòu)的腳本生成方法,其特征在于所述方法如下步驟(1)對(duì)象錄制在錄制對(duì)象時(shí),首先對(duì)窗口進(jìn)行錄制,窗口即一個(gè)獨(dú)立的主對(duì)象,通過窗口標(biāo)題來識(shí)別窗口;然后將窗口內(nèi)的所有控件設(shè)置為窗口的子對(duì)象,完成對(duì)象錄制后,將對(duì)象以二元結(jié)構(gòu)的形式使用可擴(kuò)展標(biāo)識(shí)語言xml進(jìn)行保存,記錄在ObjectDefinition.xml文件中;步驟(2)在對(duì)象錄制完成的基礎(chǔ)上,對(duì)事先錄制的對(duì)象節(jié)點(diǎn)創(chuàng)建場(chǎng)景,同時(shí)根據(jù)測(cè)試用例的需求創(chuàng)建場(chǎng)景樹并生成場(chǎng)景文件Scenarios.xml。
2.根據(jù)權(quán)利要求1所述的一種基于二元結(jié)構(gòu)的腳本生成方法,其特征在于所述對(duì)象采 用框架索引(Framelndex)、同類控件計(jì)數(shù)索引(Coimtlndex)和組合識(shí)別方式使得控件對(duì) 象嵌套層級(jí)至多為兩級(jí),形成二元結(jié)構(gòu)的對(duì)象管理體系。
全文摘要
本發(fā)明公布了一種基于二元結(jié)構(gòu)的腳本生成方法,將每個(gè)windows或者web窗口看成是一個(gè)獨(dú)立的對(duì)象,而窗口內(nèi)的所有控件看成是窗口對(duì)象的子對(duì)象,同時(shí)引入框架索引(FrameIndex)、同類組件計(jì)數(shù)索引(CountIndex)和組合識(shí)別方式使得控件對(duì)象嵌套層級(jí)至多為兩級(jí),并以二元結(jié)構(gòu)的形式使用可擴(kuò)展標(biāo)識(shí)語言xml將對(duì)象進(jìn)行保存,記錄在ObjectDefinition.xml文件中;在完成對(duì)象錄制基礎(chǔ)上,生成樹形場(chǎng)景,同樣以二元結(jié)構(gòu)的形式保存每個(gè)獨(dú)立的場(chǎng)景,生成Scenarios.xml文件;最后根據(jù)對(duì)象和場(chǎng)景自動(dòng)生成腳本,由于對(duì)象和場(chǎng)景都是以二元結(jié)構(gòu)的形式存在,生成的腳本體系必然也是二元結(jié)構(gòu)的。
文檔編號(hào)G06F11/36GK101887389SQ20101019092
公開日2010年11月17日 申請(qǐng)日期2010年6月3日 優(yōu)先權(quán)日2010年6月3日
發(fā)明者何春明, 靳松波 申請(qǐng)人:南京班墨自動(dòng)化技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1