Jenkins+Junit+Allure美化测试报告

目的:在使用Junit做单元测试的时候,测试报告 Test Result 略显寒碜


使用allure进行测试报告的美化可以大幅提高测试人员阅读体验

以下详细介绍allure与jenkins、Junit集成过程

  1. jenkins插件页面下载安装 Allure Jenkins Plugin 插件

  2. 在全局变量配置Java与allure


  3. 在项目的pom.xml文件中加入allure依赖,并进行相关配置,参考如下:

    <properties>
        <aspectj.version>1.8.10</aspectj.version>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    
    <dependencies>
    	<dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-junit5</artifactId>
            <version>2.13.3</version>
            <scope>test</scope>
    	</dependency>
    	<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.7.2</version>
    	</dependency>
    </dependencies>
    
    <build>
    	<plugins>
    		<plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
                <configuration>
                    <testFailureIgnore>false</testFailureIgnore>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                    <systemProperties>
                        <property>
                            <name>junit.jupiter.extensions.autodetection.enabled</name>
                            <value>true</value>
                        </property>
    					<property>
                            <name>allure.results.directory</name>
                            <value>${project.build.directory}/allure-results</value>
                        </property>
                    </systemProperties>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>1.2.0</version>
                    </dependency>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>2.10.0</version>
                <configuration>
                    <reportVersion>2.4.1</reportVersion>
                </configuration>
            </plugin>
    	</plugins>
    </build>
    
  1. 在Jenkinsfile中的post阶段加入allure步骤
    allure includeProperties: false, jdk: 'java8', results: [[path: 'target/allure-results']]

  2. 运行流水线打开Allure页面,可看到美化的报告页面

  3. 关于无法看到报告(UI的会出现,API的不会出现,也是奇怪)


    解决办法:把allure_report 的history copy到 allure_results下

  4. jenkins project 页面一直无法显示趋势图,目前并没有找到解决方法

1赞