行为驱动: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文件,加入以下依赖信息:

        <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包。

5.4 测试和报告

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

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

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

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

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


  

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

  

  结合jenkins的cucumber report插件:

  

  

  

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

posted @ 2019-09-18 10:27  大宇yu  阅读(759)  评论(0编辑  收藏  举报