当前位置: 首页 > news >正文

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:配置系统环境变量
  1. 按下 Win + R,输入 rundll32 sysdm.cpl,EditEnvironmentVariables,回车打开「环境变量」窗口。
  2. 在「系统变量」中找到 Path,点击「编辑」。
  3. 点击「新建」,粘贴你的 bin 目录路径,例如: D:\download\allure-2.30.0\bin
  4. 一路点击「确定」保存配置。
步骤 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
  1. --clean:生成报告前清空旧文件;
  2. 生成完成后,目录下会出现 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 True

2. 失败用例自动截图

结合 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 ) raise

3. 添加环境信息

report目录下创建environment.properties文件,写入测试环境信息:

Browser=Chrome 125.0 BaseURL=https://test.example.com Python=3.10.10 Allure=2.30.0

生成报告后,这些信息会显示在Environment模块中。


六、常见问题与避坑指南

  1. allure --version 提示 “无法识别命令”

    • 原因:环境变量配置后未重启终端,或路径错误。
    • 解决:重新打开 CMD,检查 Path 中的 bin 路径是否正确。
  2. pytest 运行后allure-results为空

    • 原因:未添加 --alluredir 参数,或插件未安装成功。
    • 解决:检查 allure-pytest 是否安装,运行 pytest 时加上 --alluredir=./allure-results。
  3. 打开报告显示 “Nothing to show”

    • 原因:allure serve 指向的目录为空,或数据损坏。
    • 解决:重新运行 pytest 生成结果数据,确保 allure-results 目录不为空。
  4. 静态报告打开空白

    • 原因:直接在本地打开 index.html,浏览器跨域限制导致静态资源无法加载。
    • 解决:使用 allure serve 方式打开,或部署到本地服务中访问。
http://www.jsqmd.com/news/892292/

相关文章:

  • C++知识点复习(面向面试5)
  • Windows 安装 MySQL 8 和 DBeaver
  • 小白也能做预测:指数平滑——时间序列预测的多面手
  • 为开源agent工具hermes配置taotoken作为自定义模型供应商
  • 2026收藏|Hermes智能体自进化原理拆解!AI Agent越用越聪明的核心秘诀
  • Java前端遇冷?程序员转行AI:收藏这份高薪新赛道攻略!
  • 2026年5月晋中地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • AI热点资讯日报 · 2026年5月26日
  • 2026年5月南平地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 小红书下载用什么工具?2026实测小红书无水印下载工具推荐
  • 2026年5月通化地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • esxcli命令报Unable to connect?这样快速修复
  • 2026年5月荆门地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 通过 curl 命令快速测试 Taotoken API 连通性与模型响应效果
  • Java 读写文件 字节流 缓冲流 转换流 对象流
  • 自制高选择性音频滤波器:从噪音中精准提取CW莫尔斯电码信号
  • 频谱分析仪精准选型指南:覆盖5G军工科研场景,国产替代降本增效 - 深度智识库
  • 收藏!小白程序员必看:5000万向量平滑迁移大模型实战指南(附回滚策略)
  • 2026年5月廊坊地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 2026年5月荆州地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • GHelper AMD降压超频技术深度解析:华硕笔记本性能调优实战指南
  • 【仅限首批200位开发者】AI Agent物联网开发套件V2.3内测权限开放:含OPC UA/Modbus/TDengine原生Agent模板及联邦学习调度器
  • 前端工程师的焦虑与自救:转型AI工程师,收藏这份进阶指南
  • COMIF框架:区分侧信息类型,优化序列推荐中的融合策略
  • 2026好用的去水印小程序推荐,热门工具实测对比
  • 2026年5月通辽地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 湖南AI搜索排名主流服务商决策参考 - 资讯速览
  • 2026年5月景德镇地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 基于ESP32与太阳位置算法的智能光照控制器设计与实现
  • 2026年5月铜川地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收