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

用 Allure 生成 pytest 测试报告:从安装到使用全流程

一、安装 Allure 相关依赖

要使用 Allure 生成 pytest 测试报告,首先需要安装必要的依赖包。我们可以通过 pip 命令来安装 allure-pytest,它是连接 pytest 和 Allure 的桥梁,能让 pytest 生成 Allure 可识别的测试结果数据。打开命令行终端,执行以下命令:

pip install allure-pytest

二、安装 Allure 命令行工具

除了 Python 依赖,还需要安装 Allure 本身的命令行工具,这样才能基于测试结果数据生成最终的报告。

  1. 下载 Allure:前往 https://github.com/allure-framework/allure2/releases 下载 Allure 的安装包。
  2. 解压安装包:将下载好的安装包解压到一个不包含中文路径的目录下。
  3. 配置环境变量:
    • 找到解压后文件夹内的 bin 目录。
    • 右键点击“我的电脑”(或“此电脑”),选择“属性”。
    • 进入“高级设置”,找到“环境变量”。
    • 在系统环境变量的 Path 项中,添加 Allure 解压目录下的 bin 目录路径。
  4. 验证安装:在命令行中输入 allure --version,如果能显示 Allure 的版本信息,说明安装配置成功。

三、配置 pytest.ini 文件

要修改 pytest.ini 配置文件(如果没有该文件,在项目根目录下新建)。配置内容如下:

[pytest]
addopts = -s --alluredir report
testpaths = ./scripts
python_files = test*.py
python_classes = Test*
python_functions = test*
  • addopts = -s --alluredir report-s 表示禁用 pytest 的输出捕获,让测试中的 print 等打印语句能直接显示在控制台;--alluredir report 指定生成 Allure 测试结果数据的目录为 report
  • testpaths = ./scripts:指定 pytest 查找测试用例的根目录为 ./scripts
  • python_files = test*.pypython_classes = Test*python_functions = test*:分别指定测试文件、测试类、测试函数的命名规则,只有符合这些规则的文件、类、函数才会被识别为测试用例。

四、生成测试结果文件

配置好 pytest.ini 后,在项目根目录下打开命令行终端,执行以下命令:

pytest

执行完成后,pytest 会在指定的 report 目录下生成测试结果的 JSON 文件,这些文件是后续生成 Allure 报告的基础数据。

五、生成 Allure 测试报告

有了测试结果数据后,就可以使用 Allure 命令行工具生成最终的测试报告了。在命令行中执行:

allure serve report

执行该命令后,Allure 会启动一个本地服务,并自动在浏览器中打开生成的测试报告页面。在报告页面中,可以直观地查看测试用例的执行情况、通过率、错误信息等内容,还能进行交互操作,比如筛选测试用例、查看详细日志等。

http://www.xdnf.cn/news/1371673.html

相关文章:

  • 【项目】深房数据通——深圳房价可视化系统
  • 数字时代下的智能信息传播引擎
  • Python大型数组计算完全指南:从基础到分布式系统实践
  • 简明 | ResNet特点、残差模块、残差映射理解摘要
  • Cherry-pick冲突与Git回滚
  • Nginx Ubuntu vs CentOS 常用命令对照表---详解笔记
  • 手机移动代理IP:使用、配置、维护的10问10答
  • 数据集数量与神经网络参数关系分析
  • 如果 我退休了
  • 身份管理与安全 (Protect identities)
  • Firefox Relay 体验
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术解析
  • RCC_APB2PeriphClockCmd
  • GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SPM
  • 18、移动应用系统分析与设计
  • 机器人 - 无人机基础(6) - 状态估计(ing)
  • 余承东:鸿蒙智行累计交付突破90万辆
  • 算法-每日一题(DAY15)用队列实现栈
  • 算法练习——26.删除有序数组中的重复项(golang)
  • Swift 解法详解 LeetCode 363:矩形区域不超过 K 的最大数值和
  • Spring Bean 生命周期高阶用法:从回调到框架级扩展
  • Java基础第5天总结(final关键字,枚举,抽象类)
  • CVPR自适应卷积的高效实现:小核大感受野提升复杂场景下图像重建精度
  • vue新增用户密码框自动将当前用户的密码自动填充的问题
  • 高校党建系统设计与实现(代码+数据库+LW)
  • 嵌入式配置数据序列化:自定义 TLV vs nanopb
  • 深度学习篇---LeNet-5
  • 1Panel命令
  • 100种交易系统(6)均线MA识别信号与杂音
  • 深度学习----由手写数字识别案例来认识PyTorch框架