1、allure环境配置
- 下载allure工具包,并添加至环境变量
- 下载地址:https://github.com/allure-framework/allure2/releases
- 配置成功后命令行输入 allure --version验证
2、maven工程改造
- pom.xml增加依赖,增加在各对应模块
<!-- 设置依赖版本 -->
<properties>
<aspectj.version>1.8.10</aspectj.version>
</properties>
<!-- testng allure相关依赖包-->
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.2</version>
</dependency>
<dependency>
<dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-testng-adaptor</artifactId>
<version>1.3.6</version>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
<!-- surefire 报告插件支持-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<includes>
<include>**/*.java</include>
</includes>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<systemProperties>
<property>
<name>allure.results.directory</name>
<value>target/allure-results</value>
</property>
<property>
<name>allure.link.issue.pattern</name>
<value>https://example.org/issue/{}</value>
</property>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<suiteXmlFiles>
<!--该文件位于工程根目录时,直接填写名字,其它位置要加上路径-->
<!--suiteXmlFile>src/main/resources/testngXml/${xmlFileName}</suiteXmlFile-->
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
- 用例添加说明
- @Epic 测试场景名称
- @Feature 模块名称
- @Story 当前用例覆盖内容
- @Description 用例详细描述
- @Step 用例具体调用的步骤
样例代码:
import io.qameta.allure.*;
import org.testng.annotations.Test;
@Epic("用户注册主流程测试")
@Feature("UserRegister")
public class UserRegister_Test {
/**
* 主流程用例
*/
@Test(groups="mainTest",description = "测试前准备")
@Story("00.测试前数据准备")
@Description("测试前数据准备,插入可用的用户")
public void success_00_PreTest() throws Exception {
//注册临时developid
//......用例实现方法
user_registernew(xx,xx,xx);
}
}
@Step("注册用户")
public static ResObj user_registernew(xx,xx,xx){}
- 增加allure.properties文件
- 目录:test/java/resources/allure.properties
- 内容:
allure.results.directory=target/allure-results
allure.link.mylink.pattern=http://xxx/mylink/{}
allure.link.issue.pattern=http://xxx/issue/{}
allure.link.tms.pattern=http://xxx/tms/{}
3、allure2报告演示
- mvn clean test执行用例,在target文件夹下多出allure-results目录,内部均为json文件
-
在pom.xml同层位置命令行执行 allure serve target/allure-results 则启动界面报告,如示例
allure报告界面
4、Jenkins集成
- 安装 allure Jenkins plugin插件
- Jenkins增加全局工具 【系统管理--全局工具配置--Allure Commandline】,如联网则使用在线安装否则采用本地目录
- maven工程增加allure 报告【Post-build Actions–Allure Report–报告位置 target/allure-results】
-
构建后可查看allure报告,示例
Jenkins显示