好的,我给你整理一份 Allure 报告的内容介绍和用法指南,涵盖概念、安装、集成、使用示例和总结。


一、Allure 简介

Allure 是一个轻量级、可视化的测试报告框架,适用于多种测试框架(如 JUnit、TestNG、Pytest、Cucumber 等)。

特点

  1. 可视化:提供直观的 HTML 报告,包括测试概览、统计信息、失败用例详情等。
  2. 跨语言支持:Java、Python、JavaScript 等多种语言均可使用。
  3. 丰富的功能
    • 测试用例分类(Feature、Story)
    • 步骤记录和附件(截图、日志)
    • 测试用例状态统计(通过/失败/跳过)
    • 支持多维度筛选和搜索

二、Allure 安装

1. 安装 Allure 命令行工具

macOS

brew install allure

Ubuntu / Linux

sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure

Windows

  1. 下载 Allure Windows 安装包
  2. 配置系统环境变量 ALLURE_HOME 并将 bin 目录加入 PATH

2. 验证安装

allure --version


三、Allure 使用方法

1. Java 项目中集成 Allure

Maven 项目

pom.xml 中添加依赖:

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-java-commons</artifactId>
    <version>2.21.0</version>
</dependency>

TestNG 集成

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-testng</artifactId>
    <version>2.21.0</version>
</dependency>


2. Pytest 集成 Allure(Python)

pip install allure-pytest

执行测试并生成 Allure 数据:

pytest --alluredir=allure-results

生成报告:

allure serve allure-results


3. Allure 报告目录结构

执行测试后,会生成 allure-results 文件夹,主要内容:

文件/目录说明
*.json测试用例结果
*.png / *.jpg附件,如截图
widgets各类统计数据的 JSON 文件
categories.json自定义用例分类

然后通过 Allure CLI 生成 HTML 报告:

allure generate allure-results -o allure-report
allure open allure-report


4. Allure 常用注解 / 装饰器

Java TestNG 示例

import io.qameta.allure.*;

@Epic("用户模块")
@Feature("登录功能")
public class LoginTest {

    @Test
    @Story("正确账号密码登录")
    @Description("测试用户使用正确账号和密码可以成功登录")
    @Severity(SeverityLevel.BLOCKER)
    public void loginSuccess() {
        // 测试代码
        Allure.addAttachment("登录截图", new FileInputStream("screenshot.png"));
        assert true;
    }
}

Python Pytest 示例

import allure

@allure.epic("用户模块")
@allure.feature("登录功能")
@allure.story("正确账号密码登录")
@allure.severity(allure.severity_level.BLOCKER)
def test_login_success():
    with allure.step("打开登录页面"):
        pass
    with allure.step("输入用户名和密码"):
        pass
    with allure.step("点击登录按钮"):
        pass
    allure.attach("登录截图", open("screenshot.png", "rb").read(), allure.attachment_type.PNG)


5. Allure 报告内容说明

  1. Overview(概览)
    • 测试用例总数、通过/失败/跳过统计
    • 测试执行趋势图
  2. Suites(套件)
    • 按测试套件分类查看用例
  3. Cases(用例)
    • 查看每条用例详细执行步骤、截图、附件、执行日志
  4. Graphs(图表)
    • 测试趋势、用例分布、失败率统计
  5. Behaviors(行为)
    • EpicFeatureStory 分类展示测试用例
  6. Timeline(时间线)
    • 可视化测试执行顺序和耗时

四、Allure 使用总结

优点

  1. 可视化效果好,支持 HTML 报告和图表展示。
  2. 支持多语言、多测试框架。
  3. 支持测试步骤记录和附件上传(如截图)。
  4. 支持多维度分类(Epic / Feature / Story)。

注意事项

  1. 生成报告前必须有 allure-results 数据文件夹。
  2. Allure CLI 工具需要安装在系统环境中,或者在 CI/CD 管道中使用 Docker 镜像。
  3. 使用注解或装饰器规范化测试用例,有助于报告结构清晰。
  4. 不直接支持视频、动态交互,需要借助附件上传实现。