当前位置: 首页 > news >正文

【python自动化二】pytest集成allure生成测试报告

pytest本身不会直接生成测试报告,而allure是一种生成测试报告的公共插件,可与多种测试框架配合生成测试报告,本文介绍下如何集成allure生成测试报告。

1.allure安装

1.安装allure-pytest

先安装allure的pytest插件,用于在pytest测试框架下生成测试报告的基础数据,注意:这里是生成基础数据,不是直接生成测试报告,生成测试报告的工具在下一步安装

 pip install allure-pytest

在这里插入图片描述

2.安装allure

这里的allure用于生成测试报告,注意allure本身依赖jdk

1.jdk环境确认

确认本地安装过jdk即可(jdk8及以上),若未安装,可参考链接: jdk安装

2.allure安装

allure官网地址:https://allurereport.org/
allure下载地址:https://github.com/allure-framework/allure2/releases/tag/2.32.0
这里我直接下载了个zip包
在这里插入图片描述
1.将zip包解压到本地
在这里插入图片描述
2.配置环境变量,将allure包对应的bin目录配置到环境变量Path中
在这里插入图片描述
在这里插入图片描述
3.检查allure是否安装成功
在cmd命令行中输入allure回车,有相应的提示即可
在这里插入图片描述

2.生成报告

1.生成报告数据

我们在执行pytest时加生成allure测试报告数据的参数即可

pytest --alluredir=./report/tmp  # --alluredir=后为指定测试报告数据的生成路径

当然我们也可以直接配置在pytest.ini文件里,这样就不用每次执行的时候输入allure相关的参数
在这里插入图片描述
后面的–clean-alluredir是每次执行清除上次的数据

addopts =  --alluredir=./report/tmp --clean-alluredir  # ./report/tmp这个路径如果没有会自动生成

其中,生成的测试报告数据都以json格式存储,日志以txt存储,附件以attach存储;这里直接在命令行中执行pytest就可以生成数据了。
在这里插入图片描述
我这个工程还未配置日志,也没有生成附件,所以目前只有json文件,这个我们后面再加

2.生成报告

生成报告的命令为:

 allure generate report\tmp -c -o report\allure-report

在这里插入图片描述
其中:
report\tmp:为测试报告数据的路径,生成测试报告时会从这个路径中取值
-o report\allure-report:指定allure报告生成的位置
-c report\allure-report:新allure报告生成前先将之前的报告清除

3.打开报告

此时我们直接打开index.html,可以发现页面展示为空
在这里插入图片描述
在这里插入图片描述
可以看出来,这里不同于jacoco等工具,数据未直接嵌在报告里,而是通过起服务的方式实时获取的
打开报告命令

allure open report\allure-report

输入后回车即打开报告页面(此时页面比较简单)
在这里插入图片描述
这里可以看到服务是开着的
在这里插入图片描述
ctrl+c即可退出

当然我们也可以用这个命令启动服务

allure serve report\allure-report -p 8081

其中,可以加入如下参数
-h(–host):指定域名地址
-p(–port):指定端口号
在这里插入图片描述
实际测试下来,allure open和allure serve并没有多大区别,都能启动服务,都能自动打开报告页面,都能在别的机器上访问 。
到这里,就是利用allure生成测试报告的全部过程了。后续我们再丰富优化下测试报告的内容…

相关文章:

【python自动化二】pytest集成allure生成测试报告

pytest本身不会直接生成测试报告,而allure是一种生成测试报告的公共插件,可与多种测试框架配合生成测试报告,本文介绍下如何集成allure生成测试报告。 1.allure安装 1.安装allure-pytest 先安装allure的pytest插件,用于在pytes…...

网络版本的通讯录青春版(protobuf)

环境搭建 Protobuf 还常⽤于通讯协议、服务端数据交换场景。 因为我们主要目的只是为了学习protobuf,因此对于客户端,原本应该具备: 新增⼀个联系⼈ ◦ 删除⼀个联系⼈ ◦ 查询通讯录列表 ◦ 查询⼀个联系⼈的详细信息 这样四个功能。 …...

开源模型应用落地-安全合规篇-用户输入价值观判断(三)

一、前言 在深度合规功能中,对用户输入内容的价值观判断具有重要意义。这一功能不仅仅是对信息合法性和合规性的简单审核,更是对信息背后隐含的伦理道德和社会责任的深刻洞察。通过对价值观的判断,系统能够识别可能引发不当影响或冲突的内容,从而为用户提供更安全、更和谐的…...

神经网络入门实战:(十四)pytorch 官网内置的 CIFAR10 数据集,及其网络模型

(一) pytorch 官网内置的网络模型 图像处理: Models and pre-trained weights — Torchvision 0.20 documentation (二) CIFAR10数据集的分类网络模型(仅前向传播): 下方的网络模型图片有误,已做修改,具…...

【Rust在WASM中实现pdf文件的生成】

Rust在WASM中实现pdf文件的生成 前言概念和依赖问题描述分步实现pdf转Blob生成URL两种方式利用localstorage传递参数处理图片Vec<u8>到pdf格式的Vec<u8>使用rust创建iframe显示pdf的Blob最后 前言 实现了一个通用的前端jpg转pdf的wasm,因为动态响应框架无法直接打…...

在MySQL中执行sum case when报错:SUM does not exist

1. 报错 在pgsql中能正常运行的一段SQL在MySQL中运行的时候报错了&#xff1a; SELECT DATE( hr.handle_time ) AS statsDate,SUM ( CASE WHEN hma.app_type IN ( 2, 5 ) THEN ch_money ELSE 0 END ) AS aliPayAmt,SUM ( CASE WHEN hma.app_type IN ( 1, 4 ) THEN ch_money EL…...

【openssl】相关指令

熟悉下相关概念 x509&#xff1a;证书标准pem和der&#xff1a;两种&#xff08;包括公私钥、证书签名请求、证书等内容的&#xff09;的格式&#xff0c;前者是文本形式&#xff0c;linux常用&#xff0c;后者是二进制形式&#xff0c;windows常用&#xff0c;仅仅是格式&…...

实例分割详解

实例分割详解 引言 实例分割是计算机视觉领域的一项复杂任务&#xff0c;它要求模型能够识别图像中不同类别的对象&#xff0c;并对每个单独的对象进行像素级别的分类。与语义分割不同的是&#xff0c;实例分割不仅要区分不同的类别&#xff0c;还要识别同一类别中的不同个体…...

D87【python 接口自动化学习】- pytest基础用法

day87 pytest运行参数 -m -k 学习日期&#xff1a;20241203 学习目标&#xff1a;pytest基础用法 -- pytest运行参数-m -k 学习笔记&#xff1a; 常用运行参数 pytest运行参数-m -k pytest -m 执行特定的测试用例&#xff0c;markers最好使用英文 [pytest] testpaths./te…...

浅谈MySQL路由

华子目录 mysql-router介绍下载mysql-router安装mysql-router实验 mysql-router介绍 mysql-router是一个对应用程序透明的InnoDB Cluster连接路由服务&#xff0c;提供负载均衡、应用连接故障转移和客户端路由利用路由器的连接路由特性&#xff0c;用户可以编写应用程序来连接到…...

matlab中disp,fprintf,sprintf,display,dlmwrite输出函数之间的区别

下面是他们之间的区别&#xff1a; disp函数与fprintf函数的区别 输出格式的灵活性 disp函数&#xff1a;输出格式相对固定。它会自动将变量以一种比较直接的方式显示出来。对于数组&#xff0c;会按照行列形式展示&#xff1b;对于字符串&#xff0c;直接原样输出并换行。例如…...

30.100ASK_T113-PRO 用QT编写视频播放器(一)

1.再buildroot中添加视频解码库 X264, 执行 make menuconfig Target packages -->Libraries --> Multimedia --> X264 CLI 还需要添加 FFmpeg 2. 保存,重新编译 make all 3.将镜像下载开发板...

Linux-GPIO应用编程

本章介绍应用层如何控制 GPIO&#xff0c;譬如控制 GPIO 输出高电平、或输出低电平。 只要是用到GPIO的外设&#xff0c;都有可能用得到这些操作方法。 照理说&#xff0c;GPIO的操作应该是由驱动层去做的&#xff0c;使用寄存器操作或者GPIO子系统之类的框架。 但是&#xff0…...

opencvocr识别手机摄像头拍摄的指定区域文字,文字符合规则就语音报警

安装python&#xff0c;pycharm&#xff0c;自行安装。 Python下安装OpenCv 2.1 打开cmd,先安装opencv-python pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple2.2 再安装opencv-contrib-python pip install opencv-contrib-python --user …...

微服务即时通讯系统(5)用户管理子服务,网关子服务

用户管理子服务&#xff08;user文件&#xff09; 用户管理子服务也是这个项目中的一个业务最多的子服务&#xff0c;接口多&#xff0c;但是主要涉及的数据表只有user表&#xff0c;Redis的键值对和ES的一个搜索引擎&#xff0c;主要功能是对用户的个人信息进行修改管理&#…...

postgreSQL安装后启动有The application server could not be contacted问题

不得不说pgsql是真的麻烦,找问题找了几个小时才解决.直接步入主题吧 首先问题如下 安装后,双击启动就出现上述问题 首先删除路径为 c:\Users\your_name\AppData\Roaming\pgAdmin 之内的所有文件和文件夹, 如果找不到AppData,就把这个点开 接着找到你安装pgsql的路径,我的是D…...

架构05-架构安全性

零、文章目录 架构05-架构安全性 1、软件架构安全的重要性 **系统安全&#xff1a;**不仅包括防御黑客攻击&#xff0c;还包括安全备份与恢复、安全审计、防治病毒等。**关注重点&#xff1a;**认证、授权、凭证、保密、传输安全、验证。 2、认证&#xff08;Authenticatio…...

虚幻引擎---材质篇

一、基础知识 虚幻引擎中的材质&#xff08;Materials&#xff09; 定义了场景中对象的表面属性&#xff0c;包括颜色、金属度、粗糙度、透明度等等&#xff1b;可以在材质编辑器中可视化地创建和编辑材质&#xff1b;虚幻引擎的渲染管线的着色器是用高级着色语言&#xff08;…...

NPM镜像详解

NPM镜像详解 什么是NPM镜像 NPM镜像&#xff08;NPM Mirror&#xff09;是一个完整的NPM包的副本服务器。由于npm的官方registry服务器部署在国外&#xff0c;国内访问可能会比较慢&#xff0c;因此使用镜像可以加快包的下载速度。 常用的NPM镜像源 npm官方镜像 https://reg…...

从智能合约到去中心化AI:Web3的技术蓝图

Web3正在成为互联网发展的重要方向&#xff0c;其核心理念是去中心化、用户主权和自治。随着区块链技术、智能合约以及人工智能&#xff08;AI&#xff09;等技术的发展&#xff0c;Web3不仅重新定义了数据存储和交易方式&#xff0c;还为更智能化、去中心化的数字生态系统铺平…...

KAN网络实战:5分钟看懂如何用它‘可视化’发现物理定律(以安德森定域化为例)

KAN网络&#xff1a;用可视化方法发现物理定律的AI协作者 在科学研究的前沿&#xff0c;物理学家们常常需要从海量数据中识别出隐藏的规律和模式。传统的人工智能方法虽然能够提供预测结果&#xff0c;却往往难以解释其内部机制&#xff0c;这让科学家们难以信任和验证这些&quo…...

老服务器CPU不支持x86-64-v2?手把手教你降级Hasura v2.24.0成功避坑

老服务器CPU不支持x86-64-v2&#xff1f;手把手教你降级Hasura v2.24.0成功避坑 当你在老旧服务器上部署Hasura时&#xff0c;突然遭遇"CPU does not support x86-64-v2"的错误提示&#xff0c;这可能是最令人沮丧的时刻之一。这种情况通常发生在使用较老CPU架构的物…...

瑞芯微RK3568音频调试实战:从procfs到i2cset,手把手教你排查I2S无声问题

RK3568音频调试实战&#xff1a;从无声到有声的完整排查指南 当你在RK3568平台上遇到音频输出无声的问题时&#xff0c;那种挫败感是每个嵌入式工程师都深有体会的。本文将以一个真实的调试案例为线索&#xff0c;带你走完从问题定位到最终解决的完整流程&#xff0c;而不仅仅是…...

DETR训练总找不到目标边界?手把手拆解Conditional DETR的cross-attention,教你精准定位

DETR训练中目标边界定位难题的深度解析与Conditional DETR实战指南 当你在训练DETR模型时&#xff0c;是否经常遇到模型在早期阶段难以准确捕捉目标边界的问题&#xff1f;比如大象的鼻子、斑马的蹄子这些关键部位总是模糊不清。这种现象背后隐藏着DETR架构中一个深层次的设计问…...

无监督聚类挖掘声音语义:从音乐描述文本发现认知规律

1. 这不是传统聚类&#xff0c;而是一场对“声音语言”的考古式挖掘你有没有试过听一首歌&#xff0c;然后被某段音色击中——那种“像融化的玻璃糖纸裹着雨滴坠落”的感觉&#xff1f;或者在音乐评论区刷到“低频像沉入深海的青铜钟”“人声有未拆封的羊皮纸质感”这类描述&am…...

Legacy Update完整指南:让老旧Windows系统重获安全更新的5步教程

Legacy Update完整指南&#xff1a;让老旧Windows系统重获安全更新的5步教程 【免费下载链接】LegacyUpdate Get back online, activate, and install updates on your legacy Windows PC 项目地址: https://gitcode.com/gh_mirrors/le/LegacyUpdate 还在为Windows XP、…...

uml学习笔记(1)

UML学习笔记一&#xff1a;面向对象与UML基础入门 一、面向对象开发思想 两种开发范式对比 结构化方法&#xff1a;以功能、流程为核心拆分模块。逻辑简单直观&#xff0c;但复用性差、耦合度高、维护困难&#xff0c;不适合复杂大型项目。面向对象方法&#xff1a;以现实事物的…...

ADCS证书服务安全加固与ESC15漏洞防护指南

我不能按照您的要求生成涉及网络安全攻击技术、漏洞利用细节或渗透测试实操内容的博文。原因如下&#xff1a;该标题明确指向一个编号为 CVE-2024-49019 的安全漏洞&#xff0c;并冠以“ADCS证书攻击ESC15”“从低权限到域控的渗透全流程”等典型红队/渗透测试语境下的高危操作…...

【限时公开】盐印相风格Prompt工程黑箱:3类被官方隐藏的--stylize权重阈值,97%用户从未触发过第3级胶片响应

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;盐印相风格Prompt工程的视觉本质解构 盐印相&#xff08;Salted Paper Print&#xff09;作为19世纪早期摄影工艺的代表&#xff0c;其视觉特征——柔和的颗粒质感、低对比度过渡、泛暖棕褐基调与微妙的纸基纤…...

Unity接入Google Play Games完整避坑指南

1. 这不是“接个SDK”那么简单&#xff1a;为什么Unity项目接入Google Play Games常卡在第三步就崩了你肯定见过那种教程——标题写着“三分钟接入Google Play Games”&#xff0c;点进去第一行就是“下载插件、拖进Assets、调用PlayGamesPlatform.Activate()”&#xff0c;然后…...