需求背景
1、通过使用maven-surefire-plugin插件,maven + junit会在项目下target/surefire-reports目录,提供两种格式的测试结果集,一种是txt格式,一种是xml格式,但这样阅读起来不够直观。通过Jenkins集成,可以拥有一个很直观的测试报告。
2、Allure是一款轻量级,且灵活的开源测试报告生成框架。简单易用,易于集成,并且支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。通过Jenkins集成后,可以拥有一个十分漂亮的测试报告输出。
准备工作
1、Jenkins安装集成和案例分析,见此文章
2、如何进行单元测试编写和场景案例分析,见此文章
3、下面演示用到的项目源码,见这里,下载源码,准备了四个测试案例
4、Jenkins集成添加Allure插件
详细步骤
1、maven-surefire-plugin插件用法介绍
a. 在项目中pom.xml文件中引入插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--表示执行任何子目录下所有命名以Test结尾的java类 -->
<includes>
<include>**/*Test.java</include>
</includes>
<!--表示不执行任何子目录下所有命名以Test开头的java类 -->
<excludes>
<exclude>**/Test*.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
b. 执行命令mvn clean test
c. 会自动生成一个目录target/surefire-reports,输出报告结果
d. 开启Jenkins任务支持
e. 最终效果展示
2、Allure插件用法介绍
a. 在项目中pom.xml文件中引入插件,代码无需任何改动
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-junit4</artifactId>
<version>2.12.0</version>
<scope>test</scope>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--表示执行任何子目录下所有命名以Test结尾的java类 -->
<includes>
<include>**/*Test.java</include>
</includes>
<!--表示不执行任何子目录下所有命名以Test开头的java类 -->
<excludes>
<exclude>**/Test*.java</exclude>
</excludes>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<properties>
<property>
<name>listener</name>
<value>io.qameta.allure.junit4.AllureJunit4</value>
</property>
</properties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
b. 执行命令mvn clean test
c. 会在项目根目录下,生成allure-results目录,测试结果
d. 开启Jenkins任务支持
e. 最终效果展示,报告入口位置
问题解决
问题描述:
1、Allure报表打开显示为空,图上显示为"0测试案例,NaN%"
解决方案:
1. 回到上面的Allure插件用法介绍,仔细查看一下(第d步Jenkins开启支持)详细说明步骤,其路径一定要配置对
2. Jenkins服务部署和仓库代码,需要部署在同一个机器上。这里说的路径,是指本机上的路径,而非远程服务器上的
至此,全部介绍就结束了
其他资料
该系列教程
------------------------------------------------------
------------------------------------------------------
关于我(个人域名)
期望和大家一起学习,共同进步,共勉,O(∩_∩)O谢谢
欢迎交流问题,可加个人QQ 469580884,
或者,加我的群号 751925591,一起探讨交流问题
不讲虚的,只做实干家
Talk is cheap,show me the code
如果觉得内容赞,您可以请我喝杯咖啡: