17:Allure Report 自动化测试报告
在自动化测试中,一份清晰、直观、可交互的测试报告,是定位问题、分析结果的关键。
Allure Report 是一款开源测试报告工具 —— 它支持 pytest、JUnit 等主流测试框架,可以生成包含用例详情、步骤、截图、日志交互式的网页报告。
本文将基于你提供的内容,从安装、环境配置、到 pytest 实战使用,带你一步到位掌握 Allure Report
一、Allure Report 是什么?
Allure Report 是一个由框架适配器 + Allure 命令行工具组成的开源测试报告框架,核心优势在于:
- 以极少的配置集成到自动化测试工作流中;
- 生成的报告是交互式网页,任何人都能轻松阅读,无需技术背景;
- 支持丰富的测试结果可视化:用例通过率、趋势图、失败用例详情、步骤截图、日志嵌入等;
- 兼容 pytest、JUnit、TestNG 等几乎所有主流测试框架。
二、完整安装步骤(Windows 环境)
Allure 的安装分为两部分:Python 适配器(allure-pytest) 和 Allure 命令行工具,两者缺一不可。
1. 安装 Python 适配器(pytest 插件)
在你的虚拟环境终端中执行以下命令,推荐安装固定版本避免兼容性问题:
pip install allure-pytest==2.13.5安装成功后,终端会显示:
Successfully installed allure-pytest-2.13.5 allure-python-commons-2.13.5这个插件的作用是:在 pytest 运行时收集测试结果数据,生成 allure-results 目录。
2. 安装 Allure 命令行工具
步骤 1:下载压缩包
打开 GitHub 官方发布页,下载 Windows 版的 allure-2.30.0.zip: 下载链接
步骤 2:解压到无中文路径
将压缩包解压到一个无中文、无空格的路径,例如:D:\download\allure-2.30.0解压后,目录结构如下:
allure-2.30.0/ ├── bin/ # 核心可执行文件 ├── config/ ├── lib/ └── plugins/步骤 3:配置系统环境变量
- 按下 Win + R,输入 rundll32 sysdm.cpl,EditEnvironmentVariables,回车打开「环境变量」窗口。
- 在「系统变量」中找到 Path,点击「编辑」。
- 点击「新建」,粘贴你的 bin 目录路径,例如: D:\download\allure-2.30.0\bin
- 一路点击「确定」保存配置。
步骤 4:验证安装
关闭所有终端窗口,重新打开 CMD/PowerShell,执行以下命令:
allure --version如果输出版本号(如2.30.0),说明配置成功。
💡 常见问题:CMD 中能运行 allure,但 PyCharm 终端提示 “无法识别命令” 解决方法:打开 PyCharm → Settings → Tools → Terminal,将 Shell path 改为 C:\Windows\System32\cmd.exe,保存后重启 PyCharm 即可。
三、Allure Report 使用实战(结合 pytest)
步骤 1:运行 pytest 生成结果数据
在你的虚拟环境终端中,执行 pytest 并指定 --alluredir 参数,生成测试结果数据:
allure serve .\report\执行完成后,项目目录下会自动生成report文件夹,里面包含测试用例的执行数据。
💡 小技巧:可以将命令写入
pytest.ini配置文件,避免每次手动输入:
[pytest] addopts = -vs --alluredir report --clean-alluredir步骤 2:两种方式查看报告
方式 1:启动本地服务器(推荐,可实时刷新)
使用allure serve命令启动本地服务,自动在浏览器中打开报告:
allure serve .\report\也可以指定端口号(避免端口冲突):
allure serve --port 8787 .\report\执行成功后,终端会输出服务地址,自动在浏览器中打开:
Starting web server at http://127.0.0.1:8787方式 2:生成静态 HTML 文件
使用 allure generate 命令,将结果数据生成静态网页文件,适合分享给他人:
allure generate .\report\ -o ./allure-report --clean- --clean:生成报告前清空旧文件;
- 生成完成后,目录下会出现 allure-report 文件夹,打开其中的 index.html 即可查看报告。
四、Allure 报告核心功能详解
生成的 Allure 报告包含多个核心模块,帮你全方位分析测试结果:
| 模块 | 作用 |
|---|---|
| Overview | 总览页面,显示用例通过率、趋势图、执行时间 |
| Categories | 用例分类,按失败原因、严重程度分组 |
| Suites | 用例套件,按模块 / 测试类展示用例结构 |
| Timeline | 用例执行时间线,分析执行耗时 |
| Behaviors | 行为驱动展示,按业务场景分组用例 |
| Environment | 测试环境信息,可自定义添加(如浏览器版本、环境 URL) |
五、进阶技巧:美化你的 Allure 报告
1. 添加用例描述与标签
使用@allure.feature、@allure.story、@allure.title装饰器,给用例添加分类和标题,让报告更清晰:
import allure import pytest @allure.feature("登录模块") @allure.story("账号密码登录") @allure.title("正常账号登录成功") def test_login_success(): assert True2. 失败用例自动截图
结合 Selenium,在测试失败时自动截图并嵌入报告:
import allure from selenium.webdriver.common.by import By def test_login(driver): driver.get("https://example.com/login") try: driver.find_element(By.ID, "username").send_keys("admin") driver.find_element(By.ID, "password").send_keys("123456") driver.find_element(By.ID, "loginBtn").click() assert "首页" in driver.title except AssertionError: # 失败时截图 allure.attach( driver.get_screenshot_as_png(), name="失败截图", attachment_type=allure.attachment_type.PNG ) raise3. 添加环境信息
在report目录下创建environment.properties文件,写入测试环境信息:
Browser=Chrome 125.0 BaseURL=https://test.example.com Python=3.10.10 Allure=2.30.0生成报告后,这些信息会显示在Environment模块中。
六、常见问题与避坑指南
allure --version 提示 “无法识别命令”- 原因:环境变量配置后未重启终端,或路径错误。
- 解决:重新打开 CMD,检查 Path 中的 bin 路径是否正确。
pytest 运行后
allure-results为空- 原因:未添加 --alluredir 参数,或插件未安装成功。
- 解决:检查 allure-pytest 是否安装,运行 pytest 时加上 --alluredir=./allure-results。
打开报告显示 “Nothing to show”
- 原因:allure serve 指向的目录为空,或数据损坏。
- 解决:重新运行 pytest 生成结果数据,确保 allure-results 目录不为空。
静态报告打开空白
- 原因:直接在本地打开 index.html,浏览器跨域限制导致静态资源无法加载。
- 解决:使用 allure serve 方式打开,或部署到本地服务中访问。
