在上一篇中,咱们介绍了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测试报告。