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

embedded/2024/11/15 4:21:07/

文章目录

      • Allure 命令行参数
        • 分类
        • 明细
      • Allure 测试报告首页分析
        • Overview(总览)
        • Categories(类别)
        • Suites(测试套)
        • Graphs(图表)
        • Timeline(时间刻度)
        • Behaviors(功能)
        • Packages(按包/模块分组)
      • Allure 测试报告常用装饰器


请添加图片描述

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 测试报告常用装饰器

请添加图片描述

allureepic_134">@allure.epic

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

allurefeature_144">@allure.feature

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

allurestory_155">@allure.story

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

alluretitle_165">@allure.title

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

allurestep_176">@allure.step

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

alluretestcase_189">@allure.testcase

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

allureissue_202">@allure.issue

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

alluredescription_213">@allure.description

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

allureseverity_224">@allure.severity

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

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

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

allurelink_241">@allure.link

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

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

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

allureattach_256">@allure.attach

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

  • body/source:要显示的内容(附件)/ 文件路径
  • name:附件的名称。
  • attachment_type:附件的类型(如text, image等)。
  • extension:附件的文件扩展名。
python">	# 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方法添加附件。


http://www.ppmy.cn/embedded/16027.html

相关文章

7.MyBatis 操作数据库(初阶)

文章目录 1.什么是MyBatis2.为什么要学习 MyBatis?3.通过spring框架创建MyBatis项目3.1使用MyBatis查询数据库3.2 mysql连接不上报错解决方法 4.MyBatis的基础操作4.1企业建表规范:4.2MyBatis基本实现4.3单元测试4.4使用MyBatis可能遇到的问题4.5配置MyB…

一次Ambari安装记录

引言 Ambari是一个开源的Apache项目,它提供了一个直观易用的Web界面,用于管理、监控和配置Apache Hadoop集群。它是一个集群管理工具,可以帮助管理员轻松地部署、管理和监控Hadoop集群的各种组件,如HDFS、YARN、MapReduce、Hive、HBase等。通过Ambari,用户可以在集群中添…

基于 Socket 的网络编程

网络编程 指网络上的主机, 通过不同的进程, 以编程的方式实现 网络通信 (或称为网络数据传输) (同一台主机的不同进程间, 基于网路的通信也可以称为网络编程) 服务端 & 客户端 网络编程中的概念 服务端: 网络通信中, 提供服务的一方 (进程) 客户端: 网络通信中, 获取服务…

Pandas 2.2 中文官方教程和指南(二十一·一)

原文:pandas.pydata.org/docs/ 窗口操作 原文:pandas.pydata.org/docs/user_guide/window.html pandas 包含一组紧凑的 API,用于执行窗口操作 - 一种在值的滑动分区上执行聚合的操作。该 API 的功能类似于groupby API,Series和Dat…

c++中的复制(深拷贝/浅拷贝/拷贝构造函数/拷贝赋值运算符/移动语义)

c中的复制 在C中,复制指的是将一个对象的内容复制到另一个对象中。复制可以通过拷贝构造函数、拷贝赋值运算符或移动语义来实现。 预备知识 在C中,拷贝构造函数和赋值操作符可以执行浅拷贝或深拷贝。这两种拷贝方式涉及到对象中成员变量的复制&#x…

Pow(x,n)——力扣

python(快速幂) 50. Pow(x, n) 已解答 中等 相关标签 相关企业 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:10…

代码随想录训练营Day21、Day22、Day23:Leetcode530、501、236、235、701、450、669、108、538

Leetcode530: 题目描述: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 代码及注释: //v用来存储二叉搜索树中序遍历的结果&#…

RTT学习 开发环境搭建

添加文件到工程 BSP下的applications文件夹用于存放用户自己的应用代码,目前只有一个main.c文件,如果用户的应用代码不是很多,建议相关源文件都放在这个文件夹下面,在applications文件夹下新增两个简单的文件hello.c和hello.h。 …