Intellij IDEA + Maven + Cucumber 项目 (三):简单解释RunCukesTest.java
1、RunCukesTest
1.1 用于啟動(dòng)測(cè)試
上面運(yùn)行測(cè)試的方式,這里也可以用其他啟動(dòng)方式來(lái)運(yùn)行。如在類(lèi)RunCukesTest.java中,右鍵點(diǎn)擊Run RunCukesTest1.2 RunCukesTest.java內(nèi)容
?
[java]?view plaincopy?
@RunWith(Cucumber.class) 這是一個(gè)運(yùn)行器 ,指用Cucumber來(lái)運(yùn)行測(cè)試
@ CucumberOptions中的features,用于指定我們項(xiàng)目中要運(yùn)行的feature的目錄
@ CucumberOptions中的format,用于指定我們項(xiàng)目中要運(yùn)行時(shí)生成的報(bào)告,并指定之后可以在target目錄中找到對(duì)應(yīng)的測(cè)試報(bào)告
@ CucumberOptions中的glue,用于指定項(xiàng)目運(yùn)行時(shí)查找實(shí)現(xiàn)step定義文件的目錄
?
?
2、BaiduSearchStepfs
2.1 ?對(duì)第一個(gè)feature的理解
該類(lèi)是用代碼來(lái)實(shí)現(xiàn)feature中的具體定義步驟。Feature文件中,是通過(guò)一些關(guān)鍵字來(lái)定義各個(gè)步驟,如以下一些,實(shí)際過(guò)程中還包括更多的關(guān)鍵字,先看下Feature中的內(nèi)容:
? Feature? 隨著項(xiàng)目的進(jìn)行會(huì)發(fā)現(xiàn),所有的feature文件都是以該關(guān)鍵字開(kāi)始。一般用來(lái)簡(jiǎn)單的描述寫(xiě)該feature實(shí)現(xiàn)什么功能。并在其下一行可以做更詳細(xì)的說(shuō)明
例子:
? ? ?Feature:百度搜索
? ? ? ? ? ? ? ? ? ?打開(kāi)百度進(jìn)行搜索
? Background? 該關(guān)鍵字目前沒(méi)用到,但是很重要。后面有機(jī)會(huì)會(huì)詳細(xì)學(xué)習(xí)下
? Scenario ???該關(guān)鍵字是用來(lái)定義具體要測(cè)試的功能點(diǎn),比如常見(jiàn)的登錄功能等
例子:
? ? ?Scenario : 百度搜索selenium
? Given? 是steps實(shí)現(xiàn)的一種,即是一個(gè)步驟,它是scenario中我們環(huán)境等所需要的條件.
例子:
? ? Given Go to the url "http://www.baidu.com/" ?
? When 也是steps,表示scenario中我們執(zhí)行測(cè)試?yán)又械哪硞€(gè)動(dòng)作等
例子:
? ? When? I find baidu logo
? And (or but) 和Given\When\Then的功能類(lèi)似,如進(jìn)行When,然后其他后續(xù)做某個(gè)操作時(shí),用到該關(guān)鍵字
例子:
??? And??Type the search text "selenium"
? Then 該關(guān)鍵字一般表示測(cè)試的預(yù)期結(jié)果,可進(jìn)行斷言等
2.2 ?BaiduSearchStepfs.java內(nèi)容
Cucumber運(yùn)行時(shí),會(huì)根據(jù)feature文件中定義的step,來(lái)查找對(duì)應(yīng)的具體實(shí)現(xiàn)
看BaiduSearchStepfs.java文件中的方法:[java]?view plaincopy
@Given("^Go to the url \"([^\"]*)\"$")?
用來(lái)對(duì)應(yīng)feature文件中的step Given Go to the url "http://www.baidu.com/"。
這里傳了一個(gè)字符串參數(shù),用正則表達(dá)式來(lái)匹配對(duì)應(yīng)的字符串
要注意,括號(hào)里面的內(nèi)容,正常是以”^”開(kāi)頭、”$”結(jié)尾
第2~6行則是該步驟具體的實(shí)現(xiàn)內(nèi)容,這里是用selenium Webdriver來(lái)實(shí)現(xiàn)
轉(zhuǎn)載于:https://www.cnblogs.com/yuanchunli/articles/7576113.html
總結(jié)
以上是生活随笔為你收集整理的Intellij IDEA + Maven + Cucumber 项目 (三):简单解释RunCukesTest.java的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vuejs兄弟组件之间的通信
- 下一篇: 开发人员的判断