PyTest+Allure生成测试报告
一、官网文档(权威)
1. Allure Report 官网:Allure Report Docs — Introduction
2. Allure GitHub地址:GitHub - allure-framework/allure2: Allure Report is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process
3. Allure系列仓库:https://github.com/orgs/allure-framework/repositories
4. 报告样式:Allure Report
二、 什么还是Allure Report

Allure Report是一款流行的开源工具,用于可视化测试运行的结果。它几乎不需要任何配置即可添加到您的测试工作流程中。它生成的报告可以在任何地方打开,任何人都可以阅读,无需深厚的技术知识。
-
作为 QA 分析师,您可以根据需要筛选和排序测试结果,让测试结果分析更轻松、更有效。将结果与之前的运行进行比较。查找不稳定的测试。使用缺陷类别分析缺陷在测试结果中的分布情况。
-
作为开发人员,查看错误消息、堆栈跟踪和其他调试信息。通过将测试拆分为多个步骤或附加运行时数据(例如屏幕截图、日志或其他任何内容)来丰富测试的输出。如果测试执行多次,请查看每次尝试的详细信息。使用时间线工具查找测试的性能和并行化问题。
-
作为经理,跟踪整个项目或单个功能和测试套件的质量。使用可视化分析工具查看项目质量随时间的变化情况。测试报告易于打开、易于阅读且支持多种语言环境。
AllAllure 有何不同
与特定于框架的报告工具不同,Allure Report 支持多种语言和框架,并允许您使用它们的任意组合。例如,如果您必须分别运行后端和前端测试,您仍然可以将所有结果转换为单个测试报告 - 并更好地了解项目中正在发生的事情。
同时,Allure Report 拥有一个完整的生态系统,可集成各种测试框架和库。它们会使用一些现成的数据来增强报告,并为您提供 API 以添加更多数据。查看您最喜欢的框架或库是否受支持。
Allure Report 以最简单但灵活的形式处理测试结果:仅文件。无需依赖报告服务器在执行期间在线 - 事实上,根本不需要通过网络发送任何数据。只需将 Allure Report 指向一个目录,它就会从中读取测试结果。
最后,Allure Report 非常易于集成。您无需更改测试工作流程即可开始使用它。一次运行或多次运行,在线或离线,在一台机器或一个集群上 - 支持任何配置,开放数据格式允许您根据需要扩展工作流程。
开始使用 Allure
-
最快的启动方式: 安装 Allure Report,按照与现在相同的方式运行测试,确保获得支持格式的结果,然后运行 Allure Report将这些结果转换为漂亮的 HTML 报告。
-
准备好了吗?安装其中一个Allure 适配器- 特定于框架的库,可在测试期间收集更多数据。使用适配器提供的 API 可启用高级 Allure 功能,如步骤、附件、测试层次结构等。
-
需要更全面的信息?请考虑使用Allure TestOps — 我们的付费产品,它允许您跟踪手动和自动测试用例,汇总来自各种来源的测试结果,并在多个发布和项目中对其进行分析。
二、安装allure (MACOS)。
参考官网如何安装
终端执行命令:
brew install allure
安装完成后再执行下面的命令,如果出现版本号,说明安装成功
allure --version
笔者安装时的最新版本是2.30.0
三、安装allure-pytest插件
将allure pytest添加到现有的的项目中。(代表您有使用pytest测试框架写的自动化测试用例)。进入您的项目目录。执行以下命令安装allure-pytest
官网安装教程
pip3 intall allure-pytest
四、运行测试
命令行方式运行:
python -m pytest --alluredir allure-results
这会将必要的数据保存到测试结果目录中。如果目录已经存在,新文件将添加到现有文件中,以便将来的报告将基于所有文件。
pycharm中运行
pytest.main(['-vs', './testcase/test_setting.py', '--clean-alluredir','--alluredir=allure-results'])
五、生成报告
最后,运行 Allure 将测试结果转换为 HTML 报告。这将自动打开浏览器来查看报告。
allure serve allure-results

报告中各目录的含义:
1.Overview:整体数据显示。
2.Categories:“类别”选项卡提供了创建自定义缺陷分类以应用测试结果的方法。
3.Suites:用例集合,按照套件和类分组的已执行测试的标准结构表示形式。
4.Graphs:用图表显示测试数据中收集的不同统计数据,状态分解或严重性和持续时间图。
5.Timeline:时间轴选项卡可视化测试执行的回顾,allure适配器收集测试的精确时间,在这个选项卡上,它们相应地按照顺序或并行的时间结构排列。
6.Behaviors:对于行为驱动的方法,此选项卡根据Epic、Feature和Story标记对测试结果进行分组。
7.Packages:软件包选项卡表示测试结果的树状布局,按不同的包名分组。
其他关于allure+pytest的文章:
pytest + allure生成测试报告 — 测试开发小记 0.1.0 文档
最全的Pytest+Allure使用教程,建议收藏-CSDN博客
相关文章:
PyTest+Allure生成测试报告
一、官网文档(权威) 1. Allure Report 官网:Allure Report Docs — Introduction 2. Allure GitHub地址:GitHub - allure-framework/allure2: Allure Report is a flexible, lightweight multi-language test reporting tool. It …...
ROS2教程(10) - 编写接收程序、添加frame - Linux
注意 : 本篇文章接上节 (点击此处跳转到上节) 编写接收程序 cpp <the_work_ws>/src/learning_tf2_cpp/src/turtle_tf2_listener.cpp #include <chrono> #include <functional> #include <memory> #include <string>#include "geometry_…...
Arraylist与LinkedList的区别
Arraylist 概念 Arraylist非线程安全Arraylist 底层使用的是Object数组ArrayList 采用数组存储,插入和删除元素的时间复杂度受元素位置的影响ArrayList 支持快速随机访问,就是通过元素的序号快速获取元素对象ArrayList的空间浪费主要体现在列表的结尾会预留一定的容…...
Nestjs使用Redis的最佳实践
前几天在项目中有用到Redis JWT实现服务端对token的主动删除(退出登录功能)。故此介绍下如何在Nestjs中使用Redis,并做下总结。 知识准备 了解Redis - 网上很多简介。了解Nestjs如何使用jwt生成token - 可移步看下我之前的文章 效果展示 一、mac安装与使用 示…...
Cadence23学习笔记(十四)
ARC就是圆弧走线的意思: 仅打开网络的话可以只针对net进行修改走线的属性: 然后现在鼠标左键点那个走线,那个走线就会变为弧形: 添加差分对: 之后,分别点击两条线即可分配差分对: 选完差分对之后…...
socket 编程
1. socket 套接字 Socket 是一个用于网络通信的技术。Socket 通信允许客户端——服务器之间进行双向通信。它可以使任何客户端机器连接到任何服务器,安装在客户端和服务器两侧的程序就可以实现双向的通信。Socket的作用就是把连接两个计算机的通信软件“中间接”起来…...
如何使用 HTTPie 进行高效的 HTTP 请求
如何使用 HTTPie 进行高效的 HTTP 请求 引言 HTTPie 是一个命令行 HTTP 客户端,它以其简洁的语法和人性化的输出格式赢得了广大开发者的喜爱。与 curl 相比,HTTPie 提供了更加直观和用户友好的接口,使得执行 HTTP 请求变得轻松愉快。本文将…...
Lingo求解器百度云下载 ling 8.0/lingo 18安装包资源分享
如大家所熟悉的,Lingo是Linear Interaction and General Optimizer的缩写,中文名称为“交互式线性和通用优化求解器”,是一套专门用于求解最优化问题的软件包。 在大部分人认知里,Lingo可用于求解线性规划、二次规划、整数规划、…...
文献综述如何为研究的理论框架做出贡献
VersaBot一键生成文献综述 文献综述在几个关键方面对塑造和巩固研究的理论框架起着至关重要的作用; 1. 识别相关理论和概念: 通过对现有研究的探索,您将遇到与您的主题相关的突出理论和概念。这些可以作为您自己的理论框架的构建块。 2. 理…...
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 加入课程 我们先看下加入课程 1.是否登录 2.课程是否存在 3.是否已经存在 4.添加 首先实现逻辑 def get_student_course(db: Session, course: int…...
【赛事推荐】2024中国高校计算机大赛人工智能创意赛
“中国高校计算机大赛”(China Collegiate Computing Contest,简称C4)是面向全国高校各专业在校学生的科技类竞赛活动,于2016年由教育部高等学校计算机类专业教学指导委员会、教育部高等学校大学软件工程专业教学指导委员会、教育…...
C++沉思:预处理和编译
预处理和编译 条件编译源代码使用方式典型示例原理 使用static_assert执行编译时断言检查使用方式原理 在C中,编译是将源代码转换为机器代码并组织在目标文件中,然后将目标文件链接在一起生成可执行文件的过程。编译器实际上一次只处理一个文件ÿ…...
交通数据处理-计算途径某些路段的车辆数
根据车辆的运行轨迹,计算先经过某些路段,再经过某些路段的车辆数。 欢迎关注本人公众号--交通数据探索师 如下表, 其中:vehicle: 车辆编号;route: 车辆轨迹。 以第一行为例,车辆car1按顺序经过了路段123…...
从0到1入门系列 | 崖山公开课再加码,三小时带你入门崖山数据库!
对不断更新的技术心生迷茫 不知如何正确的提升自己? 对新兴的国产数据库领域充满好奇 却不知从何入手? 崖山专家团队精心筹备 《从0到1入门》系列直播课 6节课 三小时 助力数据库小白变身技术高手 掌握最前沿的数据库技术 现在开始 开启职场“金…...
Powershell自定义带参数的别名
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、函数二、使用步骤总结 前言 之前写了一篇文章定义别名让powershell尽可能接近Unix风格,增强两者的互操作性,今天给出方法可以定义带…...
文件操作相关的精讲
目录: 思维导图 一. 文件定义 二. 文件的打开和关闭 三. 文件的顺序读写操作 四. 文件的随机读写操作 五. 文本文件和二进制文件 六. 文件读取结束的判断 七.文件缓冲区 思维导图: 一. 文件定义 1.文件定义 C语言中,文件是指一组相…...
05 循环神经网络
目录 1. 基本概念 2. 简单循环网络 2.1 简单循环网络 2.2 长程依赖问题 3. 循环神经网络的模式与参数学习 3.1 循环神经网络的模式 3.2 参数学习 4. 基于门控的循环神经网络 4.1 长短期记忆网络 4.2 LSTM网络的变体网络 4.3 门控循环单元网络 5. 深层循环神经网络…...
C#初级——条件判断语句、循环语句和运算符
条件判断语句 简单的条件判断语句,if()里面进行条件判断,如果条件判断正确就执行语句块1,如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…...
Laravel路由模型绑定:简化依赖注入的艺术
Laravel路由模型绑定:简化依赖注入的艺术 引言 在现代Web应用开发中,Laravel框架以其优雅和简洁的代码而闻名。Laravel的路由模型绑定(Route Model Binding)是框架提供的一项强大功能,它允许开发者在路由处理中自动注…...
【vue前端项目实战案例】之Vue仿饿了么App
本文将介绍一款仿“饿了么”商家页面的App。该案例是基于 Vue2.0 Vue Router webpack ES6 等技术栈实现的一款外卖类App,适合初学者进行学习。 项目源码下载链接在文章末尾 1 项目概述 该项目是一款仿“饿了么”商家页面的外卖类App,主要有以下功能…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
