zoukankan      html  css  js  c++  java
  • 行为驱动:Cucumber + Selenium + Java(五)

    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这个框架一个重要的优势,特别是对于项目管理和客户而言,征服他们有时候就需要这么一张美观好懂的报告。

  • 相关阅读:
    【阿里的感悟】质量该如何做? .(转载)
    java linux 配置环境
    Spring Bean属性绑定Bean返回值
    Spring BeanNameAutoProxyCreator 与 ProxyFactoryBean
    Spring Aop之(二)Aop 切面声明和通知
    Ubuntu开机自动启动Script
    转战博客园!
    linux 系统管理11 ——系统安全及应用
    linux awk
    Rsync数据同步工具
  • 原文地址:https://www.cnblogs.com/dayu2019/p/11540080.html
Copyright © 2011-2022 走看看