【TestNG快板说八】TestNG使用Allure生成测试报告

方式一:本地通过IDE进行测试

  1. 配置maven依赖
		<dependency>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-testng</artifactId>
            <version>2.12.1</version>
        </dependency>

allure用到surefire查找测试用例,所以这里还要在<plugins>中引用该插件

		<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <systemPropertyVariables>
                        <allure.results.directory>${project.build.directory}/allure-results/${maven.build.timestamp}</allure.results.directory>
                        <allure.link.issue.pattern>https://example.org/browse/{}</allure.link.issue.pattern>
                        <allure.link.tms.pattern>https://example.org/browse/{}</allure.link.tms.pattern>
                    </systemPropertyVariables>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.aspectj</groupId>
                        <artifactId>aspectjweaver</artifactId>
                        <version>${aspectj.version}</version>
                    </dependency>
                </dependencies>
            </plugin>

这个插件本省依赖aspectj做AOP,所以我们要在dependencies中添加对应的依赖包,版本号用<properties>做管理

    <properties>
        <aspectj.version>1.8.10</aspectj.version>
        <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
    </properties>

上面还使用一个maven.build.timestamp.format,主要是用来每次run test之后可以在allure-result下生成一个以时间戳命名的结果文件夹,用来区分每次的运行结果,我们来看看它是在哪里被使用:

               <configuration>
                    <systemPropertyVariables>
                        <allure.results.directory>${project.build.directory}/allure-results/${maven.build.timestamp}</allure.results.directory>
                        <allure.link.issue.pattern>https://example.org/browse/{}</allure.link.issue.pattern>
                        <allure.link.tms.pattern>https://example.org/browse/{}</allure.link.tms.pattern>
                    </systemPropertyVariables>
                    <argLine>
                        -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                    </argLine>
                </configuration>

其实就在surefire插件的配置里,我们看到系统属性设置systemPropertyVariables下有一个allure.results.directory,这个属性设置了allure结果文件放置的路径,后面就使用了${maven.build.timestamp}变量获取build的时间戳,每次运行的时候都会生成一个对应当前时间戳放置结果。然后使用allure的命令就可以查看html格式的报告:
到对应的目录下:

allure serve target/allure-results/20190813053653 

结果:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值