1、Allure报告在工程中使用
官网:Allure | Test report and framework for writing self-documented tests
首先找到Allure maven依赖包
在https://mvnrepository.com/artifact/io.qameta.allure/ 搜索依赖,查看版本
1.1、Maven引用testng
<dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-testng</artifactId> <version>2.13.2</version> <scope>test</scope> </dependency>
1.2、maven配置maven-surefire-plugin
在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>
2.Allure报告在本地(Windows环境)打开
Allure报告需要在本地打开需要Allure环境(生成报告命令:allure serve target/allure-results需要allure的环境),如果用windows环境,那么就需要在Windows进行Allure安装。
2.1、Allure下载
下载地址:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
找到要下载的版本,例如:2.13.2, 点击进去后,windows下载.zip包就可以啦
2.2、Allure安装
下载完直接解压,配置环境变量:例如:path=D:\Program Files\allure-2.13.2\bin
检验是否安装成功,cmd命令进去命令窗口输入:allure --version
2.3、本地使用命令生成Allure报告
2.3.1、配置testng.xml后,使用命令:mvn clean test执行测试程序。
参考: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>
2.3.2、本地使用命令allure serve target/allure-results生成Allure报告
$allure serve target/allure-results
点击URL,例如:http://IP:1047,打开浏览器查看Allure测试报告。
3.Allure使用
3.1、了解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
3.2、测试Demo使用的Allure注解
@Feature("用户权限管理") @Story("角色管理") @Description("Description注解:验证新增角色接口") Allure.step("请求测试数据:接口名称" + data.getApiName() + "," + data.getDesc() + "," + data.getMethod() + "," + data.getUrl() + "," + data.getParam() + " ,预期结果:code:" + expectData + ",执行返回结果:" + resultContent);
在测试报告中的展示