allure官网:
https://docs.qameta.io/allure/
在项目中导入 testng 和 allure2 坐标和对应设置
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<!-- 文件拷贝时的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 编译时的编码 -->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<aspectj.version>1.9.2</aspectj.version>
</properties>
<!-- testng maven坐标 -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
</dependency>
<!-- allure2 maven坐标 -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.6.0</version>
<scope>test</scope>
</dependency>
加入 maven-surefire-plugin 插件并进行配置
<build>
<plugins>
<plugin>
<!-- maven-surefire-plugin 配合testng/junit执行测试用例的maven插件 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<!-- 测试失败后,是否忽略并继续测试 -->
<testFailureIgnore>true</testFailureIgnore>
<suiteXmlFiles>
<!-- testng配置文件名称 -->
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<!--设置参数命令行 -->
<argLine>
<!-- UTF-8编码 -->
-Dfile.encoding=UTF-8
<!-- 配置拦截器 -->
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<systemProperties>
<property>
<!-- 配置 allure 结果存储路径 -->
<name>allure.results.directory</name>
<value>${project.build.directory}/allure-results</value>
</property>
</systemProperties>
</configuration>
<dependencies>
<!-- aspectjweaver maven坐标 -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Maven
https://github.com/zx490336534/auto_api/blob/master/pom.xml
执行
clean
首先双击clean
进行清理
test
双击test
开始执行测试
测试结果存放
报告生成
mvn io.qameta.allure:allure-maven:serve
会自动打开报告页面
报告查看
切换语言
在右下角有个按钮可以切换语言
查看测试汇总
可以在总览
页面查看测试执行通过情况,测试环境,前后运行的趋势
,当前的运行器
查看各个测试的情况
在测试套
中可以查看对应接口的测试情况,可以查看它的参数化构建
查看耗时情况
在时间刻度
中可以看到每个接口执行的耗时情况
查看执行顺序
在功能
页面可以查看脚本执行顺序
报告内容拓展
用例描述
@Test(dataProvider = "datas", description = "管理员用户信息查询")
用例步骤
在测试代码前增加Step
@Step("Type {caseInfo.id} - {caseInfo.url}")
报表断言
新增两个常量
public static final String ASSERT_SUCCESS = "PASSED";
public static final String ASSERT_FAILED = "FAILED";
在测试的最后一行增加:
Assert.assertEquals(assertResult, Constants.ASSERT_SUCCESS);
增加断言后重新执行
后续和Jenkins组合执行可以看到测试趋势