方式一:本地通过IDE进行测试
- 配置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
结果: