java版集成Allure报告--注解使用说明
testNG 集成 Allure 报告 -- 注解使用说明
前置条件
- 首先需要下载 allure 的 zip 包解压,然后配置环境变量即可(win)。allure 的 GitHub 下载地址:
- 然后执行 testn.xml 或者是单元测试下的 runCase 方法,两者任选其一。测试用例执行完成后会在项目目录下生成:allure-results 文件夹
- 最后通过 cmd 或者 IDEA 的 Terminal 功能,在当前项目下执行如下命令
即可自动打开 web 页面测报告

下面详解下 java 版 allure 的注解使用
- allure 简介就不多说了官网介绍很详细,
Allure 官方地址, 需要了解更多详情异步这里
本次 demo 使用技术如下
-
使用 springboot 框架 +testNG 框架 +Allure 报告框架 + 管理 Selenium WebDriver 所需的驱动程序 webdrivermanager 库 +log4j2 日志
-
引入上面的依赖,具体 allure-javaAnnotations 项目 pom 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>allure2test</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
</parent>
<!-- 引入 spingboot 框架 -->
<dependencies>
<!-- springboot starter 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<!-- 移除自带的 log -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j -->
<!-- 引入支持的 log4j2 日志依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 引入 allure2 的依赖 -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.10.0</version>
</dependency>
<!-- testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
</dependency>
<!--WebDriverManager 是一个库,它可以自动管理 Selenium WebDriver 所需的驱动程序(例如 chromedriver,geckodriver 等)-->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 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
下面介绍每种注解的示例及报告展示
- @Description 注解:描述性注解
- 示例 -- 位置 test 包下的 BasePageTest 类中每个测试方法都加了 @Description,如:
对应 allure 报告位置截图如下:
- @Stories/@Story 注解使用(该注解可以管理同一模块,及分组展示)
- 示例 -- 位置同上
@Description("Description 注解:验证主页测试 1")
@Story("基础测试")
@Test
public void baseTest1() {
System.out.println("我在 test1 测试中");}
@Description("Description 注解:验证主页面 test 2")
@Story("基础测试")
@Test
public void baseTest2() {
Assert.assertTrue(true, "测试示例");}
对应 allure 报告展示如下:
- @Severity 注解(@Severity 注解:测试的严重程度划分 BLOCKER,CRITICAL,NORMAL,MINOR,TRIVIAL。通过查看此信息,我们可以了解测试失败的严重性。)
- 示例
对应 allure 报告展示如下:
- @Step 注解( @Step 注解可以对参数化进行检查)
- 示例
对应 allure 报告展示如下:
@Epic 注解(在敏捷中,测试也可以按 Epic,Theme 和 story 进行分类,allure 中也可以这样标注映射关系)
- 示例
对应 allure 报告展示如下:

- @Links 注解(@Links 可以将测试链接到某些资源,例如 TMS(测试管理系统)或错误跟踪器等
- 示例
对应 allure 报告展示如下:
- @Attachment 注解(@Attachment 该方法返回 String 或 byte [],应将其添加到报表中。我们可以使用该注解将异常屏幕截图作为附件展示)
如果失败截图需要先创建 TestFailListener 类,如下:
在测试类上通过 @Listeners(TestFailListener.class) 注解来监听失败用例截图
对应 allure 报告展示如下:
allure 是一种灵活的轻量级多语言测试报告工具,它不仅可以以简洁的网络报告形式非常简洁地显示已测试的内容,而且还允许参与开发过程的每个人从日常执行中提取最大的有用信息,详细的了解注解使用会使你的测试报告更加易读直观!
该项目源码地址

EOF

本文作者:Coding 测试
本文链接:https://www.cnblogs.com/CodingTest/p/13755741.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/CodingTest/p/13755741.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!