Allure精通指南(03)报告结构详解和常用装饰器

2024-04-25 22:52

本文主要是介绍Allure精通指南(03)报告结构详解和常用装饰器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文章目录

      • Allure 命令行参数
        • 分类
        • 明细
      • Allure 测试报告首页分析
        • Overview(总览)
        • Categories(类别)
        • Suites(测试套)
        • Graphs(图表)
        • Timeline(时间刻度)
        • Behaviors(功能)
        • Packages(按包/模块分组)
      • Allure 测试报告常用装饰器
        • @allure.epic
        • @allure.feature
        • @allure.story
        • @allure.title
        • @allure.step
        • @allure.testcase
        • @allure.issue
        • @allure.description
        • @allure.severity
        • @allure.link
        • @allure.attach


请添加图片描述

Allure 命令行参数

Allure 提供了一套强大的命令行工具,用于生成、服务和打开 Allure 报告。以下是每个命令的概述和用法。

分类
命令描述
generate根据给定目录中的的Allure原始数据生成报告
serve启动报告服务,可以在浏览器中查看生成的报告
open使用默认浏览器打开生成的报告
plugin生成报告插件
--help打印命令行帮助信息
-q,--quiet开启静默模式,减少输出信息
-v,--verbose开启详细模式,增加输出信息
--version打印命令行版本信息
明细
命令用法选项描述
generategenerate [options]-c, --clean清除现有报告目录并生成新报告
--configAllure命令行配置路径
--configDirectoryAllure命令行配置目录
--profileAllure命令行配置文件
-o,--report-dir指定生成报告的目录路径
--output
serveserve [options]--configAllure命令行配置路径
--configDirectoryAllure命令行配置目录
--h,--host指定报告服务的主机地址
-p,--port指定报告服务的端口号
--profileAllure命令行配置文件
openopen [options]-h,--host指定打开报告的主机地址
-p,--port指定打开报告的端口号
pluginplugin [options]--configAllure命令行配置路径
--configDirectoryAllure命令行配置目录
--profileAllure命令行配置文件
--help打开命令行帮助信息
-q,--quiet开启静默模式
-v,--verbose开启详细模式
--version打印命令行版本信息

请添加图片描述

Allure 测试报告首页分析

Overview(总览)

用例数:展示项目中总共包含的测试用例数量。

结果统计:提供详细的测试结果统计,包括通过的用例数、失败的用例数、跳过的用例数等。

SUITES:显示所有测试套件的概览,用户可以根据需要展开或收起以查看详细信息。

请添加图片描述

Categories(类别)

Product Defects:标记为failed的测试用例,代表产品功能的实际执行结果不符合预期。

Test Defects:标记为error/broken的测试用例,通常是由于测试脚本或测试环境的问题导致的执行错误。

请添加图片描述

Suites(测试套)

层级关系:展示所有测试用例的层级结构,可以按照package、module、类、方法、函数等维度来查找和定位特定的测试用例。

请添加图片描述

Graphs(图表)

用例执行结果比例:通过图形展示不同执行结果(如通过、失败、跳过等)的用例所占的比例。

优先级统计数据:展示不同优先级(severity)的测试用例的运行统计数据,如各优先级的用例数量、执行时长等。

耗时分析:提供测试用例的执行时间统计,包括平均执行时间、最长执行时间等,帮助用户了解测试执行的效率。

请添加图片描述

Timeline(时间刻度)

执行顺序及时间:以时间顺序展示所有测试用例的执行过程,包括每个用例的开始执行时间和结束执行时间,帮助用户了解测试的执行流程和时间分布。

请添加图片描述

Behaviors(功能)

分组管理:允许根据Epic、Feature、Story等层次结构对测试用例进行分组管理,提高测试的可读性和可维护性。若未进行分组管理,则默认显示测试用例的函数名或方法名。

请添加图片描述

Packages(按包/模块分组)

分组展示:可以按照package和module对测试用例进行分组展示,方便用户根据项目的模块结构进行用例管理和定位。

请添加图片描述

Allure 测试报告常用装饰器

请添加图片描述

@allure.epic

方法@allure.epic(title)
作用:在报告中按大型功能或需求对测试用例进行分组
参数title - 测试项目/模块的顶层标题
使用方法:在测试类或测试方法上使用,作为Epic的标记
应用场景:标记测试用例所属的大型功能或需求

@allure.feature

方法@allure.feature(title)
作用:在报告中按功能模块对测试用例进行分组
参数title - 功能的标题
使用方法:在测试类或测试方法上使用,作为功能的标记
应用场景:标记测试用例所属的功能模块

@allure.story

方法@allure.story(title)
作用:在报告中按子功能或场景对测试用例进行分组
参数title - 子功能或场景的标题
使用方法:在测试方法上使用,作为子功能或场景的标记
应用场景:标记测试用例所属的子功能或场景

@allure.title

方法@allure.title(title)
作用:为测试用例提供一个简洁明了的标题
参数title - 测试用例的标题
使用方法:在测试类或测试方法上使用,作为标题的标记
应用场景:定义测试用例的标题

@allure.step

方法@allure.step(title)
作用:在Allure报告中为测试步骤提供清晰的描述
参数title - 步骤的标题或描述
应用场景:描述测试用例中的具体执行步骤
使用方法:在测试方法内部使用,作为步骤的标记

@allure.testcase

方法@allure.testcase(url)
作用:在报告中提供与测试用例相关的需求或用户故事的链接。
参数url - 需求或用户故事的链接。
使用方法:在测试方法上使用,作为需求或用户故事的标记。
应用场景:链接测试用例与需求或用户故事。

@allure.issue

方法@allure.issue(issue)
作用:在报告中提供与测试用例相关的问题或缺陷的链接。
参数issue - 问题的链接或标识符。
使用方法:在测试方法上使用,作为问题的标记。
应用场景:关联测试用例与问题跟踪系统中的特定问题。

@allure.description

方法@allure.description(description)
作用:在报告中为测试用例提供额外的上下文或说明。
参数description - 测试用例的描述。
使用方法:在测试类或测试方法上使用,作为描述的标记。
应用场景:提供测试用例的详细描述。

@allure.severity

方法@allure.severity(severity_level)
作用:在报告中标识测试用例的优先级或重要性。
参数:枚举值如下所示

  • Blocker:中断缺陷(客户端程序无响应,无法执行下一步操作)
  • Critical:临界缺陷( 功能点缺失)
  • Normal:普通缺陷(数值计算错误)
  • Minor:次要缺陷(界面错误与UI需求不符)
  • Trivial:轻微缺陷(必输项无提示,或者提示不规范)

使用方法:在测试方法上使用,作为严重程度的标记。
应用场景:指定测试用例的严重程度。

@allure.link

方法@allure.link(name, url, type_)
作用:为报告提供额外的参考或导航。
参数

  • name - 链接的名称。
  • url - 链接的URL。
  • type_ - 链接的类型(如issue, test, doc等)。

使用方法:在测试类或测试方法上使用,作为链接的标记。
应用场景:在测试报告中添加自定义链接。

@allure.attach

方法@allure.attach(body/source, name=None, attachment_type=None, extension=None)
作用:为测试报告提供额外的证据或上下文信息(想输出啥就输出啥)
参数

  • body/source:要显示的内容(附件)/ 文件路径
  • name:附件的名称。
  • attachment_type:附件的类型(如text, image等)。
  • extension:附件的文件扩展名。
	# allure.attachment_type提供的附件类型TEXT = ("text/plain", "txt")CSV = ("text/csv", "csv")TSV = ("text/tab-separated-values", "tsv")URI_LIST = ("text/uri-list", "uri")HTML = ("text/html", "html")XML = ("application/xml", "xml")JSON = ("application/json", "json")YAML = ("application/yaml", "yaml")PCAP = ("application/vnd.tcpdump.pcap", "pacp")PDF = ("application/pdf", "pdf")PNG = ("image/png", "png")JPG = ("image/jpg", "jpg")SVG = ("image/svg-xml", "svg")GIF = ("image/gif", "gif")BMP = ("image/bmp", "bmp")TIFF = ("image/tiff", "tiff")MP4 = ("image/mp4", "mp4")OGG = ("image/ogg", "ogg")WEBM = ("image/webm", "webm")

应用场景:添加测试相关的文件、图片、日志等作为附件。
使用方法:在测试过程中,使用allure.attach方法添加附件。

这篇关于Allure精通指南(03)报告结构详解和常用装饰器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936016

相关文章

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环