官网:Allure | Test report and framework for writing self-documented tests
首先找到Allure maven依赖包
在https://mvnrepository.com/artifact/io.qameta.allure/ 搜索依赖,查看版本
<dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-testng</artifactId> <version>2.13.2</version> <scope>test</scope> </dependency>
在maven项目的pom.xml文件中添加maven-surefire-plugin配置
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <argLine> -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" </argLine> <suiteXmlFiles> <suiteXmlFile>testng.xml</suiteXmlFile> </suiteXmlFiles> <systemProperties> <property> <!-- 配置 allure 结果存储路径 --> <name>allure.results.directory</name> <value>${project.build.directory}/allure-results</value> </property> </systemProperties> </configuration> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.5</version> </dependency> </dependencies> </plugin> </plugins> </build>
Allure报告需要在本地打开需要Allure环境(生成报告命令:allure serve target/allure-results需要allure的环境),如果用windows环境,那么就需要在Windows进行Allure安装。
下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
找到要下载的版本,例如:2.13.2, 点击进去后,windows下载.zip包就可以啦
下载完直接解压,配置环境变量:例如:path=D:\Program Files\allure-2.13.2\bin
检验是否安装成功,cmd命令进去命令窗口输入:allure --version
参考:testng.xml配置
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <!-- Suite代表一个测试套件,1个suite可包含多个Test --> <suite name="casbTests"> <!-- Test代表1个测试,里面可包含多个测试class --> <test name="CasbServer" preserve-order="true" > <classes> <class name="com.ciphergateway.testcase.UserManage"/> </classes> </test> <listeners> <listener class-name="com.ciphergateway.asserts.AssertionListener"></listener> </listeners> </suite>
$allure serve target/allure-results
点击URL,例如:http://IP:1047,打开浏览器查看Allure测试报告。
/**@Epic -Epics可用作您的产品或项目的大量需求的占位符。Epic将在适当的时候分为较小的用户故事。 *用户故事可以拆分为较小的任务,并且可以是较大的Feature和Epic的一部分。 */ @Epic @Features //是一个标注信息注解,但是改标注可以把相同的标注统一到相同模块下用于筛选 @Stories/@Story //使用@Severity批注测试缺陷等级,例如BLOCKER,CRITICAL,NORMAL,MINOR,TRIVIAL @Severity(SeverityLevel.BLOCKER) //测试方法描述 @Description("测试流程描述") //@Step注释是对任何(公共,私有,受保护)对任何方法进行注释。例如- @Step(“输入{0}和{1}”) @Step //@Attachment-附件只是带有注释的方法,@Attachment该方法返回String或byte [],应将其添加到报表中。我们可以将故障屏幕截图作为附件 @Attachment //@Links-我们可以将测试链接到某些资源,例如TMS(测试管理系统)或错误跟踪器。将测试用例链接到测试方法总是有帮助的。 @Link
@Feature("用户权限管理") @Story("角色管理") @Description("Description注解:验证新增角色接口") Allure.step("请求测试数据:接口名称" + data.getApiName() + "," + data.getDesc() + "," + data.getMethod() + "," + data.getUrl() + "," + data.getParam() + " ,预期结果:code:" + expectData + ",执行返回结果:" + resultContent);
在测试报告中的展示