当前位置: 首页 > 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-pytest2.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_typeallure.attachment_type.PNG ) raise3. 添加环境信息在report目录下创建environment.properties文件写入测试环境信息BrowserChrome 125.0 BaseURLhttps://test.example.com Python3.10.10 Allure2.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 方式打开或部署到本地服务中访问。
http://www.gsyq.cn/news/1395574.html

相关文章:

  • 基于Arduino Uno与WS2812B的3D圣诞树灯光系统设计与实现
  • H5P交互式视频实战宝典:从零到一打造沉浸式学习体验
  • 如何高效使用Angry IP Scanner:免费网络扫描工具完整部署与配置方案
  • 2026实测:即梦导出不带水印原图方法,即梦去水印设置全攻略
  • 基于PIC单片机的低成本有线防盗报警器DIY:双回路动态检测与抗干扰设计
  • 2026年5月铜陵地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 2026年烟台口碑好的装修公司哪家专业?答案就在这里! - 资讯纵览
  • 基于复杂网络神经动力学的缺陷报告自动分派框架设计与实现
  • 项目上线之后,我为什么还在继续用 AI 写文档、教程和运营内容
  • 2026年5月铜仁地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • 有哪些AI写作辅助平台是真的贴合学术规范,而不是空洞拼凑?
  • VirtualLab Fusion中的参数耦合
  • GPON 标准
  • 智能电池分析仪:从充电原理到实战维修的全能工具解析
  • 2026年5月酒泉地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • AI Agent无代码平台选型终极对比(含RPA/LLMOps/Low-Code三维度压力测试数据)
  • 开源RTOS新星RTEMS:从军工利器到民用普及的技术演进与生态现状
  • MC-Seg:用图注意力与度量学习破解类增量语义分割的混淆难题
  • Teammate-Skill:将团队隐性知识转化为AI可复用技能的架构与实践
  • 基于Arduino与DWIN屏打造高性价比桌面环境监测站
  • ChatGPT数据增强与对比学习:破解中文MOOC评论情感分析难题
  • KONGSBERG MRU-E-JB1运动参考单元
  • 2026年5月喀什地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • YOLO+ViT迁移学习实现街景建筑识别:从检测到分类的完整技术方案
  • 从Perl到天气预报:手把手教你用SPEC CPU 2017在Ubuntu 22.04上跑通所有43个测试
  • Xcode 14 Archives打包上传TestFlight保姆级教程(含隐私政策避坑指南)
  • 2026年5月开封地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • PyTorch、TensorFlow、Keras框架选型实战指南
  • BFS在无权图中的最短路径原理与Python工程实践
  • JDK包含JRE和编译器等开发工具,什么是编译器?