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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AITO问界崛起的“临门一脚”,落在了赛力斯汽车的智慧工厂里

文 | 智能相对论 作者 | 沈浪 AITO问界新M7的销量爆了,口碑也紧接着“爆”了。 AITO问界新M7系列上市以来50天,累计大定突破8万辆。AITO问界M9预计今年12月上市,预订超过了1.5万辆。根据最新公布的产销数据,在过去的10月份&…

Git 案例(企业如何使用git开发项目)

一、企业中我们是如何开发 1) 入职第一天,管理人员分配/git账号密码 2) 开发人员下载代码即文档/ 根据文档将环境搭建成功 3) 团队一般会给你讲讲项目相关的支持 4) 你接到第一个需求(或者某个功能,一般要经过沟通,分析,设计...等过程) 5) 创建feature分支(一般一个需求对应…

K8S的pod创建过程

创建流程图 用户发起请求创建deployment;apiserver收到创建资源的请求,apiserver对客户端操作进行身份认证,认证完成后接受该请求,并把相关的信息保存到etcd中,然后返回确认信息给客户端;apiserver向etcd…

解决爬虫在重定向(Redirect)情况下,URL没有变化的方法

重定向是一种网络服务,它可以实现从一个网页跳转到另一个网页的功能。它把用户请求的网页重定向到一个新的位置,而这个位置可以是更新的网页,或最初请求的网页的不同版本。另外,它还可以用来改变用户流量,当用户请求某…

VSCode 的 C/C++ 开发环境的傻瓜级自动部署程序

软件介绍 VSCode 是一款优秀的编辑器,可以通过各种插件,将其配置成 C/C 开发环境。只是对于初学者而言,配置步骤有点繁琐。 软件 VSCode-Setup(MinGW) 提供了自动下载安装 VSCode 并配置成 C/C 开发环境的功能。无需担心该软件会对系统有额…

jeecg-uniapp 转成小程序的过程 以及报错 uniapp点击事件

uniapp 点击事件 tap: 单击事件 confirm: 回车事件 blur:失去焦点事件 touchstart: 触摸开始事件 touchmove: 触摸移动事件。 touchend: 触摸结束事件。 longpress: 长按事件。 input: 输入框内容变化事件。 change: 表单元素值变化事件。 submit: 表单提交事件。 scroll: 滚动…

Git(七).git 文件夹瘦身,GitLab 永久删除文件

目录 一、问题背景二、问题复现2.1 新建项目2.2 上传大文件2.3 上传结果 三、解决方案3.1 GitLab备份与还原1)备份2)还原 3.2 删除方式一:git filter-repo 命令【推荐】1)安装2)删除本地仓库文件3)重新关联…

FLASH语音芯片和MP3音乐芯片的不同之处

语音芯片除了不可重复擦写的otp语音芯片之外还有内置flash可重复擦写的语音芯片,还有音质相对来说更好的mp3音乐芯片,接下来让我们就flash芯片和MP3芯片来展开讨论,看看两者之间究竟有哪些不同之处。 flash语音芯片 Flash语音芯片是可以进行…

网络协议的基本概念

网络协议的基本概念 随处可见的协议 在计算机网络与信息通信领域里,人们经常提及“协议”一词。互联网中常用的具有代表性的协议有IP、TCP、HTTP等。 “计算机网络体系结构”将这些网络协议进行了系统归纳。TCP/IP就是IP、TCP、HTTP等协议的集合。现在&#xff0…

PostgreSQL 进阶 - 模式匹配,过滤敏感数据,数据清理

1. 模式匹配 SELECT phone_number FROM customers;使用正则表达式替换所有非数字字符 这样可以清理和标准化电话号码数据,去除任何非数字字符,只保留数字 UPDATE customers SET phone_number REGEXP_REPLACE(phone_number, [^0-9], , g) WHERE phone…

Monocle 3 | 太牛了!单细胞必学R包!~(三)(建立单细胞轨迹)

1写在前面 到周末了,今天去骑车的,感觉还不错。🚴🏻 下面就是今天的内容了: 👇 单细胞转录组、蛋白组、表观组学等单细胞技术的发展为研究细胞周期、细胞分化等细胞动态过程提供了新的机会。🤩 …

CSS3设计动画样式

CSS3动画包括过渡动画和关键帧动画,它们主要通过改变CSS属性值来模拟实现。我将详细介绍Transform、Transitions和Animations 3大功能模块,其中Transform实现对网页对象的变形操作,Transitions实现CSS属性过渡变化,Animations实现…