行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告

5.1 为什么要用maven

我们在第一篇里是用手工下载jar包的形式去配置的我们的cucumber框架,这是出于学习的目的。实际上,实际项目可能更倾向使用maven去做环境搭建,也会更方便。

Apache Maven, 是一个软件(特别是Java软件)项目管理及自动构建工具,基于项目对象模型(POM)概念,Maven利用一个中央信息片段能够管理一个项目的构建,报告和文档等步骤。

  一般来说,构建工具有以下功能:

  1)编译源代码
  2)拷贝资源
  3)编译和运行测试脚本
  4)项目打包
  5)项目部署
  7)清除

  Maven使用一个pom.xml文件来实现以上功能,文件里面主要包含以下内容:

  1)项目的描述
  2)名称,版本,源码路径,依赖关系
  3)插件
  4)构建配置简介
  5)默认使用XML

5.2 安装maven

安装maven和安装java jdk或者Jmeter差不多,都是下载文件,解压到一个路径,然后配置环境变量,最后在cmd输入查看版本号,来检查是否安装成功。

网上有很多maven安装的教程,这里不再赘述。

Maven下载地址:http://maven.apache.org/download.cgi

5.3 使用maven配置cucumber项目

在eclipse中新建一个maven项目CucumberMVNProject,打开项目自带的pom.xml文件,加入以下依赖信息:

        
            info.cukes
            cucumber-core
            1.2.5
        
        
            info.cukes
            cucumber-java
            1.2.5
        
        
            junit
            junit
            4.12
        
        
            info.cukes
            cucumber-junit
            1.2.5
        
        
            org.seleniumhq.selenium
            selenium-java
            2.47.1
        
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.12.4
        
        
            org.picocontainer
            picocontainer
            2.14
        
        
            info.cukes
            cucumber-picocontainer
            1.2.5
        

修改完毕后保存,就可以看到eclipse会在后台开始去自动下载并添加以上所有项目依赖的jar包。

5.4 测试和报告

配置好项目后,就可以按照我们之前篇幅的介绍去开始自动化代码编写了,编写过程与前几篇没有区别。

注意在runner类中,cucumberOptions,我们加入如下选项:

format = {"pretty", "html:target/cucumber", "json:target/cucumber.json"}

执行完测试,在项目的target文件下面,为我们生成html和json两种格式的测试报告。

html格式的默认报告形式如下:

行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告_第1张图片
  

如果结合扩展报告功能,还可以生成格式更为美观,功能更为强大的报告:

  行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告_第2张图片

  结合jenkins的cucumber report插件:

  行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告_第3张图片

  行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告_第4张图片

  行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告_第5张图片

  可以说,"解释性"是使用cucumber这个框架一个重要的优势,特别是对于项目管理和客户而言,征服他们有时候就需要这么一张美观好懂的报告。

你可能感兴趣的:(行为驱动:Cucumber + Selenium + Java(五) - 使用maven来实现cucumber测试和报告)