在上一篇中,咱們介紹了Selenium + Cucumber + Java框架下的測試用例參數化/數據驅動,這一篇咱們來使用maven去搭建cucumber框架以及實現測試報告。html
咱們在第一篇裏是用手工下載jar包的形式去配置的咱們的cucumber框架,這是出於學習的目的。實際上,真實項目中通常會使用maven去作環境搭建,也會更方便。java
Apache Maven, 是一個軟件(特別是Java軟件)項目管理及自動構建工具,基於項目對象模型(POM)概念,Maven利用一箇中央信息片斷可以管理一個項目的構建,報告和文檔等步驟。apache
通常來講,構建工具備如下功能:
1)編譯源代碼
2)拷貝資源
3)編譯和運行測試腳本
4)項目打包
5)項目部署
7)清除json
Maven使用一個pom.xml文件來實現以上功能,文件裏面主要包含如下內容:框架
1)項目的描述
2)名稱,版本,源碼路徑,依賴關係
3)插件
4)構建配置簡介
5)默認使用XMLeclipse
安裝maven和安裝java jdk或者Jmeter差很少,都是下載文件,解壓到一個路徑,而後配置環境變量,最後在cmd輸入查看版本號,來檢查是否安裝成功。maven
網上有不少maven安裝的教程,這裏再也不贅述。工具
Maven下載地址:http://maven.apache.org/download.cgi學習
在eclipse中新建一個maven項目CucumberMVNProject,打開項目自帶的pom.xml文件,加入如下依賴信息:測試
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-core</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.47.1</version> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.4</version> </dependency> <dependency> <groupId>org.picocontainer</groupId> <artifactId>picocontainer</artifactId> <version>2.14</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>1.2.5</version> </dependency>
修改完畢後保存,就能夠看到eclipse會在後臺開始去自動下載並添加以上全部項目依賴的jar包。
配置好項目後,就能夠按照咱們以前篇幅的介紹去開始自動化代碼編寫了,編寫過程與前幾篇沒有區別。
注意在runner類中,cucumberOptions,咱們加入以下選項:
format = {"pretty", "html:target/cucumber", "json:target/cucumber.json"}
執行完測試,在項目的target文件下面,爲咱們生成html和json兩種格式的測試報告。
html格式的默認報告形式以下:
若是咱們結合擴展報告功能,還能夠生成格式更爲美觀,功能更爲強大的報告:
結合jenkins的cucumber report插件:
能夠說,強大的報告功能是使用cucumber這個框架一個重要的優點,特別是對於項目管理和客戶而言,征服他們有時候就須要這麼一張美觀好懂的報告。
留言回覆666,下一篇咱們就介紹如何實現功能更爲強大的cucumber測試報告。