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

Pytest-allure如何在测试完成后自动生成完整报告?

一、完整步骤

常规allure报告的生成方法是在pytest全部用例执行完成后,手动在命令行执行如

 allure generate ./temps -o ./report --clean

每次用例执行完成后都要重复如此的操作,十分繁琐。

可以使用如下方式让用例执行完成后自动生成报告到当前目录下:

1、首先在pytest.ini里面配置。(如没有则在根目录下创建)

[pytest]
addopts = -vs --alluredir=./temps --clean-alluredir

2、其次在conftest.py里面新增如下代码。(如没有则在根目录下创建)

import osdef pytest_sessionfinish(session, exitstatus):os.system("allure generate ./temps -o ./report --clean")

则可以在用例执行完成后自动生成报告。

二、代码讲解

1、ini配置文件

[pytest]
addopts = -vs --alluredir=./temps --clean-alluredir

-v
作用: 增加详细输出。
说明: 使 pytest 输出更详细的测试结果,包括每个测试用例的状态和输出信息。
-s
作用: 允许打印到控制台。
说明: 禁止 pytest 捕获标准输出和标准错误输出,允许测试脚本中的 print 语句正常输出到控制台。
--alluredir=./temps
作用: 指定生成 Allure 测试结果文件的目录。
说明: 将测试结果保存到指定目录(这里是 ./temps),以便后续生成 Allure 报告。
--clean-alluredir
作用: 清空指定的 Allure 结果目录。
说明: 在生成新的测试结果之前,清空指定的目录(这里是 ./temps),避免旧的结果文件干扰新结果。

2、conftest.py

import osdef pytest_sessionfinish(session, exitstatus):os.system("allure generate ./temps -o ./report --clean")

定义一个 pytest 的 hook 函数 pytest_sessionfinish

执行 Allure 报告生成命令:os.system("allure generate ./temps -o ./report --clean")

三、踩坑

之前直接在fixture中编写os代码,期望能够在用例执行完成后生成报告,但受到pytest框架的影响,会导致用例缺失(我有十个用例,在fixture里面执行完后只有9个用例的报告)

@pytest.fixture(scope="session", autouse=True)
def generate_allure_report(request):yieldos.system("allure generate ./temps -o ./report --clean")

http://www.lryc.cn/news/443936.html

相关文章:

  • 数据结构-树(基础,分类,遍历)
  • CodeGeeX4:程序员的高效助手,多语言代码生成神器!
  • 小程序组件间通信
  • Homebrew安装与切换下载源
  • C#回调函数
  • Matplotlib绘制热力图
  • 手写SpringMVC
  • mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(18)
  • 周边游小程序开发
  • 初级前端面试
  • 微软AI核电计划
  • 图片马赛克处理(Java)
  • python+selenium实现自动联网认证,并实现断网重连
  • 基于机器学习的注意力缺陷/多动障碍 (ADHD)(python论文+代码)HYPERAKTIV
  • Spring Boot 集成 Redisson 实现消息队列
  • go语言Map详解
  • C++——已知数组a[6]={1,3,5,7,9};输入一个数值,要求按照现有排序规律将它放入数组当中。
  • 云计算第四阶段---CLOUD Day7---Day8
  • 深入解析ThingsBoard与ThingsKit物联网平台的差异
  • 五、CAN总线
  • Linux:终端(terminal)与终端管理器(agetty)
  • 钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句
  • 微信小程序点赞动画特效实现
  • Day25笔记-普通文件读写with上下文二进制文件csv文件
  • MySQL安装教程
  • 【Windows】快速帮你解决如何找到 Windows 上的 .condarc 文件
  • 『正版软件』XYplorer 专业的 Windows 文件管理工具软件
  • “吉林一号”宽幅02B系列卫星
  • 我的AI工具箱Tauri版-FasterWhisper音频转文本
  • Java后端中的延迟队列实现:使用Redis与RabbitMQ的不同策略