当前位置: 首页 > 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.dtcms.com/a/352138.html

相关文章:

  • STM32 定时器(互补输出+刹车)
  • yggjs_rbutton React按钮组件v1.0.0 多主题系统使用指南
  • 什么叫API对接HR系统?
  • 2025年8月技术问答第3期
  • 03MySQL——DCL权限控制,四种常用函数解析
  • SSM入门到实战: 3.6 SpringMVC RESTful API开发
  • 基于muduo库的图床云共享存储项目(一)
  • vs2019安装cpu版本的fftw 以实现傅里叶变换
  • 《护理学》10月版面征稿论文速递
  • 【46页PPT】AI智能中台用ABC+IOT重新定义制造(附下载方式)
  • SQLBot:一款基于大语言模型和RAG的智能数据分析工具
  • AI人工智能一体化HR系统如何选型?
  • 重塑金融管理会计核心引擎,容智管会智能体打造智能决策新基建
  • 手写MyBatis第35弹:@Select、@Insert等注解的背后原理
  • 【软考论文】论DevOps及其应用
  • BotCash:2025 中国算力大会——国家级数据标注产业供需对接大会
  • 【自记】Python 局部变量、全局变量及global的示例
  • Python实现RANSAC进行点云直线、平面、曲面、圆、球体和圆柱拟合
  • 负载均衡之平滑加权轮询(Smooth Weighted Round Robin)详解与实现
  • 前沿技术趋势与应用:探索数字世界的下一个十年
  • 本地通过阿里云ECS建立SSH隧道连接阿里云RDS MYSQL数据库
  • 【P2P】RELAY服务2:cmake+ c实现及ubuntu运行
  • 淘宝/天猫商品详情API数据解析【附代码】
  • 软件检测报告:XML外部实体(XXE)注入漏洞原因和影响
  • 【Erdas实验教程】031:遥感图像频率域增强(傅立叶变换)
  • BCI良好棉花认证标准及申请条件(2025年最新版)
  • 加密狗与U盘的核心区别,U盘能否替代加密狗?
  • 电力工程大模型驱动AI工程计算:从“算错挨骂”到“一键精准”
  • 开发指南135-CSS中定义参数
  • 技术干货丨基于SimSolid的塑胶模具温度场瞬态分析