Pytest-Allure及Allure命令使用

一、Allure介绍

Allure是Pytest用于生成测试报告的框架,提供丰富的测试报告功能;

二、Allure安装

Allure安装分为2块,分别是pytest-Allure库安装,本地生成报告并导出的命令行allure安装;

1、pytest-Allure库安装

pip install allure-pytest

2、allure命令行工具安装

(1)安装jdk依赖(如果已安装则可忽略)

  • 下载路径:下载路径
    在这里插入图片描述
  • 安装成功后,添加环境变量
    在这里插入图片描述
  • 测试安装成功:命令行输入Java
    在这里插入图片描述
    (2)下载allure命令行工具:https://github.com/allure-framework/allure2/releases
    在这里插入图片描述
    (3)下载zip到本地,解压到某个目录,添加bin目录到环境变量
    在这里插入图片描述
    (4)环境变量添加成功后,测试是否成功
    allure --version,如果添加成功,则会出版本;如果添加失败,则提示“allure是未知命令”
    在这里插入图片描述

三、Pytest-Allure相关方法

@allure.epic():用于类级别
@allure.feature():用于类级别
     
    以下是测试用例级别:
    @allure.severity('normal')
    @allure.story('故事1:获取天气数据')
    @allure.title('获取单个城市的天气')
    @allure.description('获取深圳的天气')
    @allure.testcase('测试用例地址:www.***.com')
    @allure.issue('缺陷管理地址:https://www.zentao.net/')
    @allure.tag('这是tag')

在这里插入图片描述

四、Allure生成和导出报告

1、Allure生成报告

在生成报告的过程中,用的是pytest-alliure,pytest-allure在用例执行过程中,监听执行结果并记录下来

# 在运行测试用例时,--alluredir指定生成目录
pytest --alluredir=reports
或者
pytest.main(["testcases/Android/advertise", '--alluredir=allure-results'])

2、Allure命令行导出报告

allure导出并打开报告,有2种方式,一是使用allure generate +open、二是使用allure server,如下
方式一、allure open allure-report
(1)导出报告使用的是allure命令行

# XXX为--alluredir指定生成的目录
# 导出报告到当前XXX目录下,会自动生成一个allure-report文件夹
# 注意XXX使用绝对路径,比如:D:\QAantoTest\XX\allure-results
allure generate XXX

# 使用-o/--report-dir/--output导出allure-report到对应的XXX2文件夹
# XXX为--alluredir指定生成的目录,使用绝对路径,同上面
allure generate XXX -o XXX2

# 如果已有导出的allure-report,则需要使用-c/--clean选项
allure generate XXX --clean
或者
allure generate XXX -c
或者
allure generate XXX -o XXX2 --clean
或者
allure generate XXX -o XXX2 -clean

(2)打开报告到浏览器

# 打开XXX3下的报告到浏览器
# XXX3是生成allure-report的目录,使用绝对路径
allure open XXX3

方式二、allure serve

# 打开 allure 报告
# XXX为--alluredir指定生成的目录,使用绝对路径
allure serve XXX

区别
(1)方式一会先导出allure-report,可以直接打开目录下的index_html文件;方式二将allure测试报告的原始数据(xml/json/text/attach等文件)直接在浏览器打开allure测试报告,而不在本地生成任何文件。
(2)方式二虽然不会在本地生成任何文件,但看bash输出,是会先创建temp临时文件导出allure-report,再直接打开,两者无本质区别。

五、allure报告详解

Overview:整体数据显示,用例数目,通过率、suites测试集信息、feature模块
在这里插入图片描述
Categories:“类别”选项卡提供了创建自定义缺陷分类、应用测试结果的方法,可以查看具体的错误输出
在这里插入图片描述
Suites:用例集合,按照套件(testcases.Android.advertise)和类分组,已执行测试的结构展示,也可查看每个用例的信息
在这里插入图片描述
Graphs:用图表显示测试数据中收集的不同统计数据,状态分解或严重性和持续时间图
在这里插入图片描述
Timeline:时间轴选项卡可视化测试执行的回顾,allure适配器收集测试的精确时间
Behaviors:对于场景驱动,此选项卡根据Epic、Feature和Story标记对测试结果进行分组。
在这里插入图片描述
Packages:按不同的包名分组,有多个模块的测试用例时,使用更清晰

六、allure命令行详解

1、查看Allure帮助文档

allure -h

2、allure命令行格式

allure [options] [command] [command options]

Options:
–help 命令行帮助文档
-q, --quiet 切换至安静模式 Default: false
-v, --verbose 切换至冗长模式 Default: false
–version 版本信息 Default: false

command 列表
generate
serve
open
plugin
注:每个command对应不同的command option,可通过allure --help

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

适合女生的副业有哪些?整理了六个靠谱副业,女生必看

在这个互联网时代下,女生对于经济独立变得越来越看重。她们与男生一样,对于工作认真努力、追求进步,并且对于副业有着强烈的渴望和热爱。事实上,她们在副业领域的表现要远远超过很多男生,这一点不可否认。 女生在副业方…

客服管理者如何调动客服人员的积极性?

客户是企业的财富,良好的客户服务体验可以有效地促进企业的销售和声誉,因此,客服工作显得尤为重要。而客服人员的积极性直接影响了整个客服部门的质量和效率。如何调动客服人员的积极性,成为了每个客服管理者都需要面对的难题。本…

管理如何实现制度流程化 流程表单化 表单信息化 信息标准化?

业务化、流程化、信息化、数字化、自动化、智能化,是企业业务管理发展路径的六个必经阶段 制度业务化,业务表单化,表单流程化、流程信息化、信息标准化、标准制度华。 制度流程化、流程表单化、表单信息化、信息标准化、标准制度华。 管理…

Ubuntu 20.04设置虚拟内存 (交换内存swap)解决内存不足

数据库服务器程序在运行起来之后,系统内存不足。 在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。 在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁…

实践笔记-docker-compose安装

docker-compose 1.在线安装2.离线安装 1.在线安装 # github下载(太慢了或者直接下载不了) curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose # daocloud下载 c…

SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

选题理由 随着计算机网络及多媒体技术的广泛应用,互联网已成为高校办学的基础设施和必备条件,基于互联网的高校信息管理越来越综合化,越来越多的教学管理、行政管理工作将架构在互联网上,互联网正在变为学校实施教学、科研和管理…

Docker dnmp 多版本php安装 php8.2

Laravel9 开发需要用到php8.1以上的版本,而dnmp只支持到php8.0。安装php8.2的步骤如下: 1. 从/services/php80目录复制一份出来,重命名为php82,extensions目录只保留 install.sh 和 install-php-extensions 这两个文件 2. 修改.en…

https原理

首先说一下几个概念:对称加密、非对称加密 对称加密: 客户端和服务端使用同一个秘钥,分两种情况: 1、所有的客户端和服务端使用同一个秘钥,这个秘钥被泄漏后数据不再安全 2、每个客户端生成一个秘钥&…

时序预测 | Python实现ARIMA-CNN-LSTM差分自回归移动平均模型结合卷积长短期记忆神经网络时间序列预测

时序预测 | Python实现ARIMA-CNN-LSTM差分自回归移动平均模型结合卷积长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-CNN-LSTM差分自回归移动平均模型结合卷积长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 …

低保真原型图:如何在设计初期就把握产品方向

在设计和开发数字产品时,原型图是一个至关重要的工具。原型图是产品设计的蓝图,它帮助设计师和开发者在产品开发过程中更好地理解和沟通他们的想法。在原型图领域,有一个广泛使用的概念,那就是“低保真原型图”。本文将探讨什么是…

中国人民大学与加拿大女王大学金融硕士—重要的是,你一直在努力

人虽然生下来就分三六九等,不同的人过着不同的生活,我的生活没办法选择,我只能尽我所能的让自己变得优秀。中国人民大学与加拿大女王大学金融硕士是我们无论怎样都可以变优秀的优质渠道。V13146152701 那么我们为什么要读研,读研…

c++qt学习对象树

1.当创建的对象在堆区时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,将对象会放在对象树中。 2.一定程度上简化了内存回收机制 构造顺序与析构顺序相反

[架构之路-250/创业之路-81]:目标系统 - 纵向分层 - 企业信息化的呈现形态:常见企业信息化软件系统 - 企业内的数据与数据库

目录 一、数据概述 1.1 数据 1.2 企业信息系统的数据 1.3 大数据 1.4 数据与程序的分离思想 1.5 数据与程序的分离做法 1.6 数据库的基本概念 1.7 企业数据来源 1.8 企业数据架构 二、常见的数据库类型 2.1 数据库分类 2.1 数据库类型 2.2 常见的数据库类型、应用…

GZ035 5G组网与运维赛题第10套

2023年全国职业院校技能大赛 GZ035 5G组网与运维赛项(高职组) 赛题第10套 一、竞赛须知 1.竞赛内容分布 竞赛模块1--5G公共网络规划部署与开通(35分) 子任务1:5G公共网络部署与调试(15分) 子…

SpringBoot SerializationUtils克隆(反序列化) 类加载器不一致问题(ClassCastException)

问题分析 在SpringBoot中使用 org.apache.commons.lang.SerializationUtils.clone 方法时,发现克隆出来的类强转对应类时发生类型不一致的错误,经过检测发现两个看似相同的类的类加载器不一致 场景 报错信息 java.lang.ClassCastException: com.tianq…

【PyTorch 卷积】实战自定义的图片归类

前言 卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一,它通过卷积层、池化层、全连接层等结构,可以有效地处理如时间序列和图片数据等。关于卷积的概念网络上也比较多,这里就不一一描述了。…

大数据之LibrA数据库系统告警处理(ALM-12010 Manager主备节点间心跳中断)

告警解释 当主Manager节点在7秒内没有收到备Manager节点的心跳信号时,产生该告警。 当主Manager节点收到备Manager节点的心跳信号后,告警恢复。 告警属性 告警参数 对系统的影响 如果主Manager进程异常,主备倒换无法进行,影响…

我做云原生的那几年

背景介绍 在2020年6月,我加入了一家拥有超过500人的企业。彼时,前端团队人数众多,有二三十名成员。在这样的大团队中,每个人都要寻找自己的独特之处和核心竞争力。否则,你可能会沉没于常规的增删改查工作中&#xff0…

人工智能基础_机器学习016_BGD批量梯度下降求解多元一次方程_使用SGD随机梯度下降计算一元一次方程---人工智能工作笔记0056

然后上面我们用BGD计算了一元一次方程,那么现在我们使用BGD来进行计算多元一次方程 对多元一次方程进行批量梯度下降. import numpy as np X = np.random.rand(100,8) 首先因为是8元一次方程,我们要生成100行8列的X的数据对应x1到x8 w = np.random.randint(1,10,size = (8…

mac matplotlib显示中文

以下默认字体,在mac ventura上测试能成功显示中文: import matplotlib.pyplot as plt import matplotlib#from matplotlib import font_manager #plt.rcParams[font.sans-serif] [Heiti TC]#plt.rcParams[font.sans-serif] [Songti SC]#plt.rcParams[f…