分享

Jenkins集成Cucumber生成图形化的测试报告

 huowufenghuang 2018-08-21

1、配置项目pom文件

Cucumber的启动类配置到pom文件中,在Jenkins构建的时候,会跑Cucumber的测试类,配置如下:

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.apache.maven.plugins</groupId>
  5. <artifactId>maven-compiler-plugin</artifactId>
  6. <configuration>
  7. <source>1.8</source>
  8. <target>1.8</target>
  9. </configuration>
  10. </plugin>
  11. <plugin>
  12. <groupId>org.codehaus.mojo</groupId>
  13. <artifactId>sonar-maven-plugin</artifactId>
  14. <version>3.0.1</version>
  15. </plugin>
  16. <plugin>
  17. <groupId>org.apache.maven.plugins</groupId>
  18. <artifactId>maven-surefire-plugin</artifactId>
  19. <configuration>
  20. <testFailureIgnore>
  21. true<!-- 因为要执行Cucumber -->
  22. </testFailureIgnore>
  23. <includes>
  24. <include>**/CucumberStart.java</include>
  25. </includes>
  26. </configuration>
  27. </plugin>
  28. </plugins>
  29. </build>

注意CucumberStart.java,这个java类的作用是指定features文件的位置,步骤定义的位置,以及生成的测试报告存放的问题,该类代码如下:



  1. package com.chhliu.myself.cucumberstart;
  2. import org.junit.runner.RunWith;
  3. import cucumber.api.CucumberOptions;
  4. import cucumber.api.junit.Cucumber;
  5.  /**
  6.  * @author chhliu@(邮箱)
  7.  * 
  8.  * 修改记录
  9.  * @version 产品版本信息 2015-09-22 姓名(邮箱) 修改信息<br/>
  10.  * 
  11.  * @RunWith(Cucumber.class) 这是一个运行器 ,指用Cucumber来运行测试
  12.  * @CucumberOptions中的features,用于指定我们项目中要运行的feature的目录
  13.  * @CucumberOptions中的format,用于指定我们项目中要运行时生成的报告,并指定之后可以在target目录中找到对应的测试报告
  14.  * @CucumberOptions中的glue,用于指定项目运行时查找实现step定义文件的目录
  15.  * 
  16.  * 在实际项目中,随着项目的进行,一个测试工程可能由多个feature文件组成,并且每个feature文件中可能也是由多个scenario组成。默认情况下,
  17.  * 每次运行是运行所有feature中的所有scenario。这样可能导致正常情况下运行一次测试脚本,需要非常长的时间来等待测试结果。
  18.  * 但是实际过程中,测试用例是有优先级等区分的。比如smokeTest、regressionTest等。或者有时候会有特别小部分的用例,比如等级是critical,
  19.  * 这些用例需要长时间运行来监测系统是否没有白页或者页面404等现象。
  20.  * 所以我们必须区分开所有的scenario,可以使我们在启动测试脚本时,可以根据我们需要来运行哪些模块的scenaro。这时我们可以使用Tags
  21.  * 在Cucumber里Tag是直接在Feature、Scenari或Scenario Outline关键字前给feature或scenario添加任意数量的前缀为@的tags,多个tag用空格来分隔
  22.  */
  23. // tags="@CA", 
  24. @RunWith(Cucumber.class)
  25. @CucumberOptions(plugin = {"json:target/cucumber/cucumber.json", "html:target/cucumber", "pretty"}, features = "src/test/resources/features/")
  26. public class CucumberStart {
  27. }

注:plugin选项用来指定生成的报告格式,多种格式用逗号隔开,glue用来指定cucumber的步骤定义位置,features用来指定features文件的位置


3、在Jenkins中安装cucumber插件

需要安装的插件如下:


4、新建一个Jenkins项目,并配置

配置如下

4.1 JDK配置


4.2 代码托管地址配置(此处以SVN为例)


4.3 构建触发器配置(什么时候触发Jenkins扫描)

4.4 Maven构建配置


4.5 Sonar构建配置


4.6 代码规范扫描配置


4.7 发布Cucumber测试结果报告


4.8 发布HTML格式的报告


4.9 发布Junit测试结果报告


4.10 发布Cucumber结果报告


5、点击应用保存,并构建

6、构建完成后,效果如下

构建完之后,会多生成这两个链接,点击Cucumber Reports后就可以看到好看的测试报告了,下面是部分截图:


7、Sonar构建结果如下



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约