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

用于編寫web工程測(cè)試用例的方法

文檔序號(hào):9597180閱讀:187來源:國知局
用于編寫web工程測(cè)試用例的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于WEB工程和WEB自動(dòng)化測(cè)試領(lǐng)域,特別是涉及到一種用于編寫web工 程測(cè)試用例的方法。
【背景技術(shù)】
[0002] 為了保證Web工程的正確性和可靠性,需要測(cè)試人員設(shè)計(jì)測(cè)試用例對(duì)Web工程進(jìn) 行測(cè)試,常用的測(cè)試方法是使用能夠在瀏覽器中自動(dòng)化功能測(cè)試的工具,編寫測(cè)試用例,與 瀏覽器進(jìn)行交互,測(cè)試Web應(yīng)用程序,例如Selenium 2便是常用的測(cè)試工具。
[0003] 這些常用的測(cè)試工具通常都支持多種編程語言,但是無論使用哪一種編程語言, 都存在比較復(fù)雜、不容易讀懂的問題,用其來編寫測(cè)試用例并不是很方便。

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

[0004] 有鑒于此,本發(fā)明提出一種用于編寫Web工程測(cè)試用例的方法,使得Web工程的測(cè) 試用例的編寫簡(jiǎn)單、抽象、容易讀懂。
[0005] 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種用于編寫Web工程測(cè)試 用例的方法,包括步驟如下:
[0006] 步驟一 :Web工程測(cè)試用例按照特定的語言編寫,所述特定語言包括宏指令、測(cè)試 指令、過程;
[0007] 所述宏指令用于編寫者自定義運(yùn)行測(cè)試時(shí)的設(shè)定;
[0008] 所述測(cè)試指令用于測(cè)試Web工程特性是否工作正常;
[0009] 所述過程是一系列測(cè)試指令的集合;
[0010] 步驟二:通過分析器解析步驟一所述特定語言的語法,并將步驟一的測(cè)試用例轉(zhuǎn) 換為抽象語法樹;
[0011] 步驟三:通過解析器,基于步驟二中分析器生成的抽象語法樹來運(yùn)行測(cè)試用例。
[0012] 進(jìn)一步的,步驟一所述特定語言的過程包括主過程和子過程,主過程為所有測(cè)試 指令的入口,子過程為主過程進(jìn)入的分支過程。
[0013] 更進(jìn)一步的,步驟一所述特定語言還包括控制語句,所述控制語句用于按照判定 條件執(zhí)行指令。
[0014] 更進(jìn)一步的,步驟一所述特定語言還包括變量,所述變量用于在其定義的作用域 里面重復(fù)使用。
[0015] 進(jìn)一步的,步驟二所述分析器基于遞歸下降分析的模式來分析特定語言的語法。
[0016] 更進(jìn)一步的,所述分析器基于JavaScript語言編寫。
[0017] 進(jìn)一步的,步驟三所述解析器基于狀態(tài)機(jī)的模型來依次執(zhí)行語法樹中的指令。
[0018] 更進(jìn)一步的,所述解析器基于JavaScript語言編寫。
[0019] -種編程語言,應(yīng)用了上述任一項(xiàng)編寫Web工程測(cè)試用例的方法。
[0020] 相對(duì)于現(xiàn)有技術(shù),本發(fā)明所述的用于編寫Web工程測(cè)試用例的方法,讓編寫web工 程的測(cè)試用例更簡(jiǎn)單,更抽象和容易讀懂,該方法專門為編寫測(cè)試用例而設(shè)計(jì),所以比用其 它語言編寫測(cè)試用例更方便。
【具體實(shí)施方式】
[0021] 需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相 互組合。
[0022] 下面將結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0023] 依據(jù)本發(fā)明的方法設(shè)計(jì)Lemoncase語言。
[0024] Lemoncase語言是為了讓編寫web工程的測(cè)試用例更簡(jiǎn)單,更抽象和容易讀懂。這 就類似Unreal為了讓編寫游戲腳本更簡(jiǎn)單和更容易讀懂而發(fā)明了 Unreal引擎能運(yùn)行的專 用游戲腳本。
[0025] 該語言有3大組成部分:
[0026] 1.宏指令:編寫者可以自定義運(yùn)行測(cè)試時(shí)的一些設(shè)定。
[0027] 2.測(cè)試指令:測(cè)試指令是用來測(cè)試網(wǎng)站/web應(yīng)用的某個(gè)特性是否工作正常的條 件語句。
[0028] 3.過程:過程是一系列測(cè)試指令的集合。過程分為主過程和子過程。主過程就是 所有測(cè)試指令的入口。子過程就是主過程可能進(jìn)入的一些分支過程。
[0029] ?語法
[0030] 最基本的Hello World程序如下:
[0032] 其中,Process main代表主過程。大括號(hào)中的語句是測(cè)試指令,而Log "Hello World ! ";指令的結(jié)果是在測(cè)試報(bào)告中記錄一句話。
[0033] 1.宏指令
[0034] #set MAX_L00P 50
[0035] 這個(gè)宏指令會(huì)設(shè)定主過程會(huì)重復(fù)運(yùn)行多少次。
[0036] 2.測(cè)試指令
[0037] wait 3000 ;
[0038] click "· btn" ;
[0039] assert "#login" in 10000 as keyl ;
[0040] 上面3個(gè)指令大概的意思是,等待3000毫秒,點(diǎn)擊一個(gè)class為btn的按鈕,斷言 在10000秒內(nèi)會(huì)出現(xiàn)一個(gè)id為login的html元素,并把相關(guān)數(shù)據(jù)記錄在keyl這個(gè)關(guān)鍵字 下。
[0041 ] 關(guān)于assert指令:這類似node, js中的assert和jasmine中的expect,斷言某 一個(gè)html元素是否符合特定的條件。assert后面的參數(shù)是斷言條件,默認(rèn)是一個(gè)css選擇 器,解析器會(huì)試圖判斷頁面上是否有符合該css選擇器的html元素。除此之外,還可以斷 言符合css選擇器的元素的集合是否存在?符合css選擇器的元素在頁面上是否可見?等 等。在斷言條件之后有個(gè)可選參數(shù),以in(數(shù)字)的形式出現(xiàn),它是斷言的時(shí)間,如果沒有 這個(gè)參數(shù),程序會(huì)立刻對(duì)條件做出判斷。在有參數(shù)的情況下,程序會(huì)等待一定時(shí)間,直到符 合判定條件或超時(shí)失敗。這個(gè)參數(shù)在頁面有ajax請(qǐng)求或頁面跳轉(zhuǎn)時(shí)非常有用。在斷言時(shí) 間后面還有另一個(gè)參數(shù),這個(gè)參數(shù)是一個(gè)字符串,效果是在該關(guān)鍵字下面記錄這次斷言成 功所需的時(shí)間或超時(shí)錯(cuò)誤的詳細(xì)信息。
[0042] 3.子過程
[0044] 子過程名稱加上一對(duì)括號(hào)即代表在程序的該處調(diào)用子過程。
[0045] 4.控制語句
[0046] if (n>2) click "· btnG" ;
[0047] else return ;
[0048] If后面接判定條件,then后面是判定條件為true時(shí)執(zhí)行的指令,而else則是條 件為false時(shí)執(zhí)行的指令。
[0049] loop 100
[0050] do click "#refresh" ;
[0051] while ( "div>. close"){
[0052] click "div>. close" ;
[0053] }
[0054] loop后面的數(shù)字代表循環(huán)次數(shù),do后面是循環(huán)中需要執(zhí)行的指令。
[0055] while后面是判定條件,只要判定條件為true,就會(huì)執(zhí)行do后面的指令。
[0056] 5.變量
[0057] $selector = "input#login" ;
[0058] input selector by "admin" ;
[0059] $符號(hào)代表定義一個(gè)變量,和大多數(shù)編程語言一樣,變量可以在其定義的作用域里 面重復(fù)使用。
[0060] 魯分析器
[0061] Lemoncase語言目前有JavaScript語言編寫的語法分析器。分析器是基于經(jīng)典的 遞歸下降分析(Recursive descent parser)的模式來分析Lemoncase的語法,并將用戶編 寫的程序轉(zhuǎn)換為JavaScript可用的抽象語法樹(AST)。
[0062] 魯解析器
[0063] Lemoncase的解析器也是基于JavaScript的。解析器是基于分析器生成的抽象語 法樹來運(yùn)行測(cè)試用例的。該解析器是基于狀態(tài)機(jī)的模型來依次執(zhí)行語法樹中的指令。
[0064] 本發(fā)明專門為編寫測(cè)試用例而設(shè)計(jì),所以比用其它語言編寫測(cè)試用例更方便。
[0065] 假設(shè)使用Selenium2的webdriverJS的接口編寫測(cè)試用例:
[0068] 如果用Lemoncase來編寫,貝lj會(huì)是這樣的:
[0070] 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種用于編寫Web工程測(cè)試用例的方法,其特征在于:包括步驟如下: 步驟一 :Web工程測(cè)試用例按照特定的語言編寫,所述特定語言包括宏指令、測(cè)試指 令、過程; 所述宏指令用于編寫者自定義運(yùn)行測(cè)試時(shí)的設(shè)定; 所述測(cè)試指令用于測(cè)試Web工程特性是否工作正常; 所述過程是一系列測(cè)試指令的集合; 步驟二:通過分析器解析步驟一所述特定語言的語法,并將步驟一的測(cè)試用例轉(zhuǎn)換為 抽象語法樹; 步驟三:通過解析器,基于步驟二中分析器生成的抽象語法樹來運(yùn)行測(cè)試用例。2. 根據(jù)權(quán)利要求1所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:步驟 一所述特定語言的過程包括主過程和子過程,主過程為所有測(cè)試指令的入口,子過程為主 過程進(jìn)入的分支過程。3. 根據(jù)權(quán)利要求2所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:步驟 一所述特定語言還包括控制語句,所述控制語句用于按照判定條件執(zhí)行指令。4. 根據(jù)權(quán)利要求3所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:步驟 一所述特定語言還包括變量,所述變量用于在其定義的作用域里面重復(fù)使用。5. 根據(jù)權(quán)利要求1所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:步驟 二所述分析器基于遞歸下降分析的模式來分析特定語言的語法。6. 根據(jù)權(quán)利要求5所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:所述 分析器基于JavaScript語言編寫。7. 根據(jù)權(quán)利要求1所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:步驟 三所述解析器基于狀態(tài)機(jī)的模型來依次執(zhí)行語法樹中的指令。8. 根據(jù)權(quán)利要求7所述的一種用于編寫Web工程測(cè)試用例的方法,其特征在于:所述 解析器基于JavaScript語言編寫。9. 一種編程語言,其特征在于:應(yīng)用了上述任一項(xiàng)編寫Web工程測(cè)試用例的方法。
【專利摘要】本發(fā)明提出了一種用于編寫Web工程測(cè)試用例的方法,包括步驟如下:步驟一:Web工程測(cè)試用例按照特定的語言編寫;步驟二:通過分析器解析步驟一所述特定語言的語法,并將步驟一的測(cè)試用例轉(zhuǎn)換為抽象語法樹;步驟三:通過解析器,基于步驟二中分析器生成的抽象語法樹來運(yùn)行測(cè)試用例。本發(fā)明所述的用于編寫Web工程測(cè)試用例的方法,讓編寫web工程的測(cè)試用例更簡(jiǎn)單,更抽象和容易讀懂,該方法專門為編寫測(cè)試用例而設(shè)計(jì),所以比用其它語言編寫測(cè)試用例更方便。
【IPC分類】G06F9/44
【公開號(hào)】CN105354035
【申請(qǐng)?zhí)枴緾N201510791831
【發(fā)明人】李超, 石威林
【申請(qǐng)人】天津橙子科技有限公司
【公開日】2016年2月24日
【申請(qǐng)日】2015年11月17日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
潍坊市| 历史| 界首市| 边坝县| 荃湾区| 温宿县| 教育| 虹口区| 伊宁市| 林西县| 祁连县| 阳山县| 绥阳县| 广水市| 治县。| 潞城市| 汉中市| 皮山县| 万安县| 安远县| 洛南县| 麻江县| 新丰县| 温州市| 西峡县| 汪清县| 邓州市| 平乐县| 南丹县| 景泰县| 聂荣县| 韶山市| 大田县| 聊城市| 五大连池市| 苏州市| 呈贡县| 阆中市| 舟山市| 石阡县| 南昌市|