allure测试报告

使用pytest结合Allure进行测试报告生成的简单教程

allure测试报告


Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。

◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。

下载安装Allure:你可以从GitHub下载安装文件“allure2-2.13.3.zip”,解压后,将bin目录配置到环境变量中,然后在DOS窗口中输入“allure”,并按“Enter”键,如果显示“Usage”的话,说明设置成功。

使用如下命令执行:pytest.main(["-m","login","-s","-q","--alluredir=./report"])。

●“-m”:标记用例。

●“login”:被标记需要执行用例。

●“-s”:允许终端在测试执行时输出某些结果,例如你想输入print的内容,可以加上“-s”。

●“-q”:简化输出结果。

●“--alluredir”:生成Allure指定语法。

●“./report”:生成报告的目录。

●“--clean-alluredir”:因为这个插件库allure-pytest生成了报告文件,你第二次执行时不会清理掉里面的东西,所以你需要删除这个report文件夹,然后执行重新新建report文件夹命令。说明:命令执行后,程序会在report文件夹里面生成文件。 

定制报告


●feature:标注主要功能模块。

●story:标注features功能模块下的分支功能。

●severity:标注测试用例的重要级别。

blocker级别:致命缺陷。critical级别:严重缺陷。normal级别:一般缺陷,默认为这个级别。minor级别:次要缺陷。trivial级别:轻微缺陷。

●step:标注测试用例的重要步骤。

●attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据信息。

●name就是附件名称,body就是数据,attachment_type就是传类型。附件支持的类型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER。

●issue:这里传的是一个连接,记录的是你的问题。

●testcase:这里传的是一个连接,记录的是你的用例。

●description:描述用例信息。

import pytest,allure@allure.feature("测试场景1")      #标记场景
class TestDemo():@allure.story("测试用例1-1") # 标记测试用例@allure.severity("trivial") # 标记用例级别def test_1_1(self): # 用例1a = 1 + 1assert a == 2@allure.story("测试用例1-2")@allure.severity("critical")@allure.step('用例2:重要步骤')def test_1_2(self):assert 2 == 2

通过main来执行测试用例,这时候程序会在report文件夹中生成一些JSON格式的文件

接下来回到DOS窗口,执行“allure generate --clean report”命令,可以看到新生成了一个allure-report文件夹,可以用浏览器打开index.html文件了

 ●区域一:显示报告生成的时间,执行的时间,一共执行了多少个测试用例,环状图显示用例通过的比例。

●区域二:显示的是测试集合(class)情况。

●区域三:显示的是测试场景(@allure.feature)。

●区域四:显示失败用例的信息。

 

安装必要的库


首先,确保已经安装了pytest和allure-pytest库。可以使用以下命令进行安装:


pip install pytest
pip install allure-pytest
 

用法说明 

1. 在测试代码中,使用pytest框架编写测试用例。确保你已经导入pytest和allure相关的模块。

2. 在每个测试用例函数上方添加`@allure.feature('Feature')`和`@allure.story('Story')`装饰器,用于指定测试用例所属的特性和故事。

3. 在测试用例函数上方添加`@allure.severity(allure.severity_level.CRITICAL)`装饰器,用于指定测试用例的严重程度。

4. 在需要添加附件的地方,使用`allure.attach()`方法添加附件。例如,在测试用例失败时,你可以添加失败截图或日志文件作为附件。

5. 在命令行中执行`pytest --alluredir=./report`命令,将测试结果生成为Allure报告的XML格式。

6. 使用`allure serve ./report`命令启动Allure服务,并自动打开生成的测试报告。

示例代码


import pytest
import allure@allure.feature('登录模块')
@allure.story('用户登录')
@allure.severity(allure.severity_level.CRITICAL)
def test_user_login():with allure.step('步骤1:输入用户名和密码'):# 输入用户名和密码操作passwith allure.step('步骤2:点击登录按钮'):# 点击登录按钮操作passwith allure.step('步骤3:验证登录成功'):# 验证登录成功的断言passwith allure.step('步骤4:添加失败截图和日志文件作为附件'):# 添加失败截图和日志文件作为附件allure.attach.file('./screenshot.png', name='失败截图', attachment_type=allure.attachment_type.PNG)allure.attach.file('./log.txt', name='日志文件', attachment_type=allure.attachment_type.TEXT)assert Trueif __name__ == '__main__':pytest.main(['-s', '-v', '--alluredir=./report'])

执行以上代码后,会在当前目录下生成一个`report`文件夹,包含测试结果的XML文件。然后,执行`allure serve ./report`命令,启动Allure服务并自动打开生成的测试报告。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381030.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

fork--创建进程

fork–创建进程 fork函数基本知识 pid_t fork(void) 返回值:在父进程中,成功的话返回子进程的pid,失败返回-1在子进程中,返回值pid为0fork()函数将运行着的进程分裂出另一个子进程,它通过拷贝父进程的方式创建子进程…

[SAMtools] 常用指令总结

源自:http://sanwen.net/a/hirxmpo.html samtools是一系列处理bam和sam格式文件的应用程序集合,具有众多的功能。 首先呢,bam和sam文件主要是bwa、bowtie、tophat等序列比对工具产生的,这些软件我们后面会谈到。 软件下载安装&…

Glide 的超时控制相关处理

作者:newki 前言 Glide 相信大家都不陌生,各种源码分析,使用介绍大家应该都是烂熟于心。但是设置 Glide 的超时问题大家遇到过没有。 我遇到了,并且掉坑里了,情况是这样的。 调用接口从网络拉取用户头像&#xff0c…

高通量DNA测序数据的生物信息学方法

来源:大数据期刊 时间:2016-05-13 14:41:09 作者:詹晓娟 姚登举 朱怀球 詹晓娟1,姚登举2,朱怀球3 1. 黑龙江工程学院计算机科学与技术学院,黑龙江 哈尔滨 150050; 2. 哈尔滨理工大学软件学院…

C++ pair详解

pair pair在cplusplus 与CPrimer中的介绍 首先可以看到pair是一个class template —类模板 pair也是一种模板类型。 对 pair 的介绍是: 这个类将一对值耦合在一起,这些值可能是不同类型的(T1和T2)。单个值可以通过其公共成员first和second访问。 pair是…

聊聊OpenStack运维架构

前言 想一想,从事OpenStack杂七杂八的事儿,至今正好三年半了。做过QA测试(手动的、自动的)、CI(gerrit、jenkins、gitlab、harbor)、云产品封装(从系统pxe到openstack代码)、自动化…

Lua pairs与ipairs效率分析

介于大家目前有些人比较关心 lua table中pairs 和 ipairs的效率问题, 特此研究了一下... 如有不正 还需指出.. 首先来看下 lua中table的结构定义: table中分为2个存储空间, 一个是线性数组空间(TValue *array), 和一个hash空间(Node *node) 当我们使用 pairs 和 ipairs 会产生…

【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(22):方阵函数在微分方程组中的应用

目录 前言往期文章5.6 方阵函数在微分方程组中的应用5.6.1 解一阶线性常系数齐次微分方程组5.6.2 解一阶线性常系数非齐次微分方程组 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出&#xf…

C++中pair使用详细说明

一、pair 的介绍 pair 是一个很实用的 "小玩意",当想要将两个元素绑在一起作为一个合成元素、又不想要因此定义结构体时,使用 pair 可以很方便地作为一个代替品。 也就是说,pair 实际上可以看作一个内部有两个元素的结构体&#xf…

Solidity实现默克尔树 Merkle Tree

​​Merkle Tree​​​,也叫默克尔树或哈希树,是区块链的底层加密技术,被BTC和Ethereum区块链广泛采用。​​Merkle Tree​​​是一种自下而上构建的加密树,每个叶子是对应数据的哈希,而每个非叶子为它的​​2​​个子…

论文浅尝 | PairRE: 通过成对的关系向量实现知识图谱嵌入

笔记整理:黎洲波,浙江大学硕士,研究方向为自然语言处理、知识图谱。 研究背景 知识图谱因其在问答、语义解析和命名实体消歧等任务取得了良好的效果而受到广泛关注,而大部分知识图谱都存在不全和缺失实体链接的问题,所…

致敬乔布斯的经典,锤子坚果Pro成2017年最受欢迎手机看罗永浩怎么说

锤子坚果Pro发布已经近2个月,但热度依旧不减。在刚刚过去的京东618活动中,坚果Pro在1500到2000元档位产品中一举斩获单品销量冠军。坚果Pro凭借出色的销售战绩坐实2017手机圈“黑马”之名,而其销量节节攀升,这其中必有一番原因。日…

坚果Pro 2安抚了不少人锤粉, 但用户更期待锤子T3

今年秋季,锤子科技创始人罗永浩于2017年11月7日在成都发布坚果系列2代手机坚果Pro 2,指纹和logo的融合增强了手机的一体型。软件上的再度优化,帮助盲人更注重人文关怀,再从罗永浩自带“流量”,坚果Pro2自然而然受到大家…

pro坚果android耗流量,深度使用坚果Pro3一个月,憋了一肚子话,不吐不快​

原标题:深度使用坚果Pro3一个月,憋了一肚子话,不吐不快​ 罗永浩创办的锤子手机曾经在国内手机市场,也是一枚耀眼的新兴,罗永浩对于手机工业设计的高标准严要求让锤子手机成为了国内少有的在设计上能和苹果三星比肩的手…

厉害了!原来这些文艺明星都喜欢锤子坚果Pro

最近在手机圈出现了一匹黑马,那就是锤子坚果Pro。在京东618期间取得了十分骄人的战果,荣获6月1日至18日1500-1999元价位档单品销量第一,成为该价格区间最受欢迎的手机,同时在2017年4月1日后首发的新品销量排名中位列第三&#xff…

锤子t1android驱动,锤子T1痛失安卓5.1!都是因为这?

现如今很多高端手机都开始升级安卓6.0了,但是情怀锤子却突然给了老用户一“锤子”,宣布第一代T1将不会升级到安卓5.1,因为“优化效果不明显”。 这顿时引发了一片争议。有的T1用户表示了理解,称手机够用就好,不在乎系统…

内蒙古大学计算机考研资料汇总

内蒙古大学研招网 内蒙古大学计算机学院 内蒙古大学计算机学院成立于1997年,其前身是1978年设置的计算机专业和1988年成立的计算机科学系。内蒙古大学软件学院成立于2005年,与计算机学院为一个实体,两个牌子。目前学院由计算机科学系、…

如何获取bainu文档并用斡仑office进行编码转换-永中office蒙文版

声明: 1.bainu软件是由内蒙古卓嘎信息技术有限公司研发的。 2.斡仑office是由内蒙古斡仑科技有限公司与永中软件股份有限公司联合开发的蒙汉多文种跨平台办公套装。 第一,首先我们打开bainu软件,如图: 第二,下列图中…

为什么 Mixin 被认为是有害的

为什么 Mixin 被认为是有害的 Mixin 是在 Vue 2 中引入的,作为组件之间共享代码的解决方案,这种方式成为许多代码库不可或缺的一部分。然而,随着时间的推移,它们的使用开始出现问题。尽管 mixins 最初很有吸引力,但现…

【从零开始学习JAVA | 第四十五篇】反射

目录 前言: ​反射: 使用反射的步骤: 1.获取阶段: 2.使用阶段: 反射的应用场景: 使用反射的优缺点: 总结: 前言: Java中的反射是一项强大而灵活的功能&#xff0…