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

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF