Allure测试报告
一、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
安装步骤:
-
下载压缩包(.zip 文件)
-
解压到任意目录(建议放在非中文路径)
-
添加系统环境变量:将
allure-2.30.0/bin目录路径添加到 PATH 中 -
验证安装:打开命令行(cmd),执行以下命令
allure --version
如果显示版本号(如 2.30.0),则安装成功。
2.3 PyCharm 环境配置(如果控制台找不到 allure 命令)
如果 cmd 中可以执行 allure --version,但 PyCharm 控制台中提示"命令找不到",需要修改 PyCharm 的命令行环境:
-
打开 PyCharm Settings/Terminal
-
修改 Shell path 为系统 cmd 路径
-
保存后重启 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 即可:
-
自动运行测试
-
生成 allure-results 原始数据
-
再执行
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 从安装、配置到使用的完整流程,可以直接用于你的接口自动化测试框架中。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)