一、Allure 介绍

Allure Report 是一个流行的开源工具,用于可视化测试运行的结果

核心特点
特点 说明
框架适配器 + 命令行工具 由两部分组成,协同工作
零配置或低配置 可以以很少甚至零配置的方式添加到测试工作流中
报告可移植 生成的报告可以在任何地方打开
无需技术背景 任何人都可以阅读,无需深厚的技术知识
信息丰富 提供清晰的测试结果可视化展示

二、安装步骤

2.1 安装 allure-pytest 包(Python 端)
pip install allure-pytest==2.13.5

建议统一版本,避免因版本不同造成的使用差异

2.2 下载 Allure 命令行工具

下载链接: https://github.com/allure-framework/allure2/releases/download/2.30.0/allure-2.30.0.zip

安装步骤:

  1. 下载压缩包(.zip 文件)

  2. 解压到任意目录(建议放在非中文路径)

  3. 添加系统环境变量:将 allure-2.30.0/bin 目录路径添加到 PATH 中

  4. 验证安装:打开命令行(cmd),执行以下命令

allure --version

如果显示版本号(如 2.30.0),则安装成功。

2.3 PyCharm 环境配置(如果控制台找不到 allure 命令)

如果 cmd 中可以执行 allure --version,但 PyCharm 控制台中提示"命令找不到",需要修改 PyCharm 的命令行环境:

  1. 打开 PyCharm Settings/Terminal

  2. 修改 Shell path 为系统 cmd 路径

  3. 保存后重启 PyCharm


三、Allure 基本使用流程

Allure 的使用分为两步

步骤 命令 说明
Step 1 pytest --alluredir=结果目录 运行测试,生成原始数据(JSON 文件)
Step 2 allure serve 结果目录 启动本地服务器,在浏览器中查看报告
┌─────────────────┐
│   编写测试用例   │
│  (pytest 语法)  │
└────────┬────────┘
         ▼
┌─────────────────┐
│   pytest 执行   │  ← pytest 框架
│  (发现/运行用例) │
└────────┬────────┘
         ▼
┌─────────────────┐
│ allure-pytest   │  ← 适配器插件
│  插件转换数据    │  (将执行结果转成JSON)
└────────┬────────┘
         ▼
┌─────────────────┐
│ allure-results  │  ← 原始数据目录
│   (JSON文件)    │     (pytest --alluredir=xxx)
└────────┬────────┘
         ▼
┌─────────────────┐
│  allure serve   │  ← Allure命令行工具
│   生成并展示报告 │     (解析JSON → HTML报告)
└────────┬────────┘
         ▼
┌─────────────────┐
│   可视化报告     │
│   (浏览器展示)   │
└─────────────────┘

四、Step 1:运行测试并生成原始数据

4.1 命令行方式
# 基本用法
pytest --alluredir=allure-results
​
# 常用组合(带详细输出)
pytest -vs --alluredir=allure-results
​
# 指定测试文件
pytest cases/test_login.py --alluredir=allure-results

执行后,会在当前目录下自动生成 allure-results 文件夹,里面存放 JSON 格式的原始测试数据。

4.2 配置文件方式(pytest.ini)

pytest.ini 中配置,避免每次手动输入:

[pytest]
addopts = -vs --alluredir allure-results
testpaths = ./cases

配置后,直接执行 pytest 命令即可。

4.3 allure-results 文件夹内容示例
allure-results/
├── 123abc-xxxxx-result.json
├── 456def-yyyyy-result.json
├── ...

五、Step 2:查看测试报告

5.1 方法一:allure serve(推荐)

启动一个本地服务器,在浏览器中自动打开测试报告。

# 基本用法
allure serve .\allure-results\
​
# 指定端口号
allure serve --port 8787 .\allure-results\
​
# 清除上一次生成的报告(避免缓存问题)
allure serve .\allure-results\ --clean-alluredir

常用参数:

参数 说明
--host 指定服务器监听的主机地址,默认为 localhost
--port 指定服务器监听的端口号,默认为 0(自动选择空闲端口)
--clean-alluredir 清除上一次生成的测试报告

执行效果示例:

Generating report to temp directory...
Report successfully generated to C:\Users\...\allure-report
Starting web server...
Server started at <http://192.168.31.77:8787/>. Press <Ctrl+C> to exit

浏览器会自动打开报告页面。

5.2 方法二:allure generate(生成静态文件)

从原始数据生成静态 HTML 报告文件。

# 基本用法
allure generate .\allure-results\ -o .\allure-report
​
# 生成前先清理旧报告
allure generate .\allure-results\ -o .\allure-report --clean

参数说明:

参数 说明
-o <目录> 指定输出目录
--clean 生成前先清空输出目录

生成后,直接用浏览器打开 allure-report/index.html 即可查看。


六、两种查看方式对比

对比项 allure serve allure generate
输出形式 启动本地服务器 生成静态 HTML 文件
查看方式 浏览器自动打开,服务器需保持运行 直接打开 HTML 文件
适用场景 本地调试、快速查看 存档、发送给他人、集成到 CI/CD
是否需要服务器 是(临时启动) 否(静态文件)
端口占用 会占用端口 不占用

七、Allure 报告内容解读

Allure 报告提供丰富的可视化信息:

报告模块 说明
概览面板 测试用例总数、通过率、执行时间
Suites(测试套件) 按目录/文件结构展示用例执行结果
Categories(分类) 按失败类型分类(如断言失败、异常)
Graphs(图表) 执行时间趋势、失败率等可视化图表
Timeline(时间线) 用例执行的时间分布
Behaviors(行为) 按业务模块/功能分组
Packages(包) 按代码包结构分组
关键指标解读
指标 说明
测试执行时间 从开始到结束的总耗时,与用例数量成正比
测试用例总数 覆盖范围指标,总数多说明覆盖广
通过率 关键质量指标,应达到 95% 以上
失败用例 需要重点分析的用例

八、在 pytest.ini 中集成 Allure 配置

[pytest]
addopts = -vs --alluredir allure-results
testpaths = ./cases
python_files = test_*.py
python_classes = Test*
markers = 
    smoke: 冒烟测试用例
    regression: 回归测试用例

配置后,直接执行 pytest 即可:

  1. 自动运行测试

  2. 生成 allure-results 原始数据

  3. 再执行 allure serve allure-results 查看报告


九、完整工作流示例

# 1. 运行测试,生成原始数据
pytest -vs --alluredir=allure-results
​
# 2. 查看报告(方法一:启动本地服务器)
allure serve allure-results
​
# 3. 或生成静态报告(方法二)
allure generate allure-results -o allure-report --clean

十、常见问题及解决方案

问题 解决方案
pip install allure-pytest 失败 检查网络,使用国内镜像源
allure 命令找不到 检查环境变量是否正确配置,重启终端/PyCharm
报告生成但内容为空 检查 --alluredir 路径是否正确,测试是否真正执行
报告中有旧数据残留 使用 --clean-alluredir 或手动删除 allure-results 文件夹
PyCharm 中无法执行 allure 命令 修改 Terminal 的 Shell path 为系统 cmd,重启 PyCharm

十一、快速上手模板

# 1. 安装
pip install allure-pytest==2.13.5
​
# 2. 下载 Allure 并配置环境变量
# 下载地址:https://github.com/allure-framework/allure2/releases
​
# 3. 验证安装
allure --version
​
# 4. 运行测试
pytest -vs --alluredir=allure-results
​
# 5. 查看报告
allure serve allure-results

十二、总结

组件 作用
allure-pytest pytest 插件,将测试结果转换为 Allure 格式
allure 命令行工具 解析原始数据,生成 HTML 报告
allure-results 存放测试原始数据的目录
allure serve 启动临时服务器,在浏览器中查看报告
allure generate 生成静态 HTML 报告文件

这份笔记涵盖了 Allure 从安装、配置到使用的完整流程,可以直接用于你的接口自动化测试框架中。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐