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

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/dayu2019/p/11540080.html
Copyright © 2011-2022 走看看