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

发掘效率黑科技:Allure报告助您事半功倍提升测试效能!

Allure 简介与安装
  • Allure 是由 Java 语⾔开发的⼀个轻量级,灵活的测试报告⼯具。

  • Allure 多平台的 Report 框架。

  • Allure ⽀持多语⾔,包括 python、JaveScript、PHP、Ruby 等。

  • 可以为开发/测试/管理等人员提供详尽的的测试报告,包括测试类别、测试步骤、日志、图片、视频等。

  • 可以为管理层提供高水准的统计报告。

  • 可以集成到 Jenkins 生成在线的趋势汇总报告。

安装步骤:- 安装 Java,环境变量配置教程。- 安装 Allure 环境变量配置教程 - 安装插件:pip install allure-pytest。

环境验证:allure -- version

Allure 用法

 

 Allure 命令行语法格式如下: 


allure[option] [command] [commandoptions]

生成报告的两种方式

方式一:在线报告,会直接打开默认浏览器展示当前报告。


# 方式一:测试完成后查看实际报告,在线查看报告,会直接打开默认浏览器展示当前报告。
allureserve./result/(注意这里的serve书写)
# Java
allureservetarget/allure-results(注意这里的serve书写)

方式二:应用场景:如果希望随时打开报告,可以生成一个静态资源文件报告,将这个报告布署到 web 服务器上,启动 web 服务,即可随时随地打开报告。- 解决方案:使用allure generate 生成带有 index.html 的结果报告。这种方式需要两个步骤:- 第一步:生成报告。- 第二步:打开报告。

```bash# 生成报告allure generate ./result (allure结果)# 打开报告allure open ./report/ (报告位置)```
Allure 添加用例标题、步骤
用例标题
  • 通过使用装饰器 @allure.title 可以为测试用例自定义一个可阅读性的标题。

  • allure.title 的三种使用方式:

    1. 直接使用 @allure.title 为测试用例自定义标题。

    2. @allure.title 支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题。

    3. allure.dynamic.title 动态更新测试用例标题。

# 方式一:
@allure.title("自定义标题")
def test_title():assert True
# 方式二:通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题。
@allure.title("参数化用例标题:参数一:{param1} ,参数二:{param2}")
@pytest.mark.parametrize("param1, param2, expected", [(1, 1, 2),(0.1, 0.3, 0.4)
])
def test_with_parametrize_title(param1, param2, expected):assert param1 + param2 == expected# 方式三:动态更新测试用例标题。
@allure.title("原始标题")
def test_with_dynamic_title():assert Trueallure.dynamic.title("更改后的新标题")
用例步骤

Allure 支持两种方法:- 方法一:使用装饰器定义一个测试步骤,在测试用例中使用。- 方法二:使用 with allure.step() 添加测试步骤。

Allure 添加图片
  • 应用场景:在做 UI 自动化测试时,可以将页面截图,或者出错的页面进行截图,将截图添加到测试报告中展示,辅助定位问题。

  • 解决方案:使用以下两种方式添加图片。

allure.attach.file 方法 - 语法:allure.attach.file(source, name, attachment_type, extension),参数解释:- source:文件路径,相当于传一个文件。- name:附件名字。- attachment_type:附件类型,是 allure.attachment_type 其中的一种(支持 PNG、JPG、BMP、GIF 等)。- extension:附件的扩展名。


class TestWithAttach:def test_pic(self):allure.attach.file("pic.png",name="图片",attachment_type=allure.attachment_type.PNG,extension="png")

allure.attach 方法

  • 语法:allure.attach(body, name=None, attachment_type=None, extension=None):,参数解释:

    • body:要写入附件的内容

    • name:附件名字。

    • attachment_type:附件类型,是 allure.attachment_type 其中的一种(支持 PNG、JPG、BMP、GIF 等)。

    • extension:附件的扩展名。

class TestWithAttach:def test_pic2(self):with open("./img/logo.png",mode="rb") as f :file = f.read()allure.attach(file,"页面截图",allure.attachment_type.PNG)
Allure 添加日志
  • 日志展示在 Test body 标签下,标签下可展示多个子标签代表不同的日志输出渠道:

    • log 子标签:展示日志信息。

    • stdout 子标签:展示 print 信息。

    • stderr 子标签:展示终端输出的信息。

  • 禁用日志,可以使用命令行参数控制 --allure-no-capture

总结

  • 添加商品测试用例设计、用例编写和断言

  • Allure 测试报告定制

    测试开发高薪私教班开课啦!!!内容全面升级,新增小班私教、1v1私教内容,让同学们在学技术的同时,软技能也同步得到提升。4 个月 30+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+)!直推 BAT 名企测试经理,模拟面试+面试复盘跳槽无忧!

相关文章:

发掘效率黑科技:Allure报告助您事半功倍提升测试效能!

Allure 简介与安装 Allure 是由 Java 语⾔开发的⼀个轻量级,灵活的测试报告⼯具。 Allure 多平台的 Report 框架。 Allure ⽀持多语⾔,包括 python、JaveScript、PHP、Ruby 等。 可以为开发/测试/管理等人员提供详尽的的测试报告,包括测试…...

Spring Web 过滤器使用常见错误(上)

我们都知道,过滤器是 Servlet 的重要标准之一,其在请求和响应的统一处理、访问日志记录、请求权限审核等方面都有着不可替代的作用。在 Spring 编程中,我们主要就是配合使用ServletComponentScan 和 WebFilter 这两个注解来构建过滤器。 说起…...

【数据结构】周末作业

1.new(struct list_head*)malloc(sizeof(struct list_head*)); if(newNULL) { printf("失败\n"); return; } new->nextprev->next; prev->nextnew; return; 2.struct list_head* pprev->next; prev->nextp->next; p->next->prevpr…...

java 企业培训管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 企业培训管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…...

在SAP HANA中使用OData(二)

通常有两种方式通过OData来暴露SAP HANA中的数据库对象,一是直接使用Database Object,比如前一篇和本篇文章介绍的例子,这种方式针对于数据已经存在于SAP HANA中,在Repository中没有对应的设计时对象(Design-time Object)&#xf…...

【Docker】前端基于dockerfiel构建镜像部署,实现在容器启动时传递环境变量, 请求不同服务地址

前端部署采用 docker 的方式, 实现在容器启动时传递环境变量, 请求不同服务地址 实现思路: 定义.env.xxx 文件(环境变量赋值),在compose.yml中引入.env.xxx 文件,环境变量通过nginx的sub_filte…...

评估测试接口软件与网站的使用方法及优劣势比较

评估测试接口软件与网站的使用方法及优劣势比较 导言 在软件开发和测试过程中,对接口进行测试是至关重要的一步。测试接口的软件和网站提供了各种工具和方法,以便开发人员和测试人员能够有效地测试他们的应用程序接口。本文将探讨几种常见的测试接口软…...

【Qt学习】QLineEdit 控件 属性与实例(登录界面,验证密码,正则表达式)

文章目录 1. 介绍2. 实例使用2.1 登录界面2.2 对比两次密码是否相同2.3 通过按钮显示当前输入的密码(并对2.2进行优化)2.4 结语 3. 正则表达式3.1 QRegExp3.2 验证输入内容 4. 资源代码 1. 介绍 关于 QLineEdit 的详细介绍,可以去查阅官方文…...

Spring Boot 和 Spring Cloud: 区别与联系

Spring Boot 和 Spring Cloud: 区别与联系 在当今软件开发领域,微服务架构和快速开发成为了主流趋势。Spring框架作为Java生态系统中最流行的开发框架之一,也不例外地推出了Spring Boot和Spring Cloud这两个项目来满足这些需求。本文将详细探讨它们之间…...

9.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏连接服务器的操作

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏底层功能对接类GameProc的实现 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:44c54d30370d3621c1e9ec3d7fa1e2a0…...

vue - - - - - vue3使用draggable拖拽组件

vue3使用draggable拖拽组件 一、组件安装二、插件使用三、遇到的问题1. missing required prop&#xff1a; “itemKey” 一、组件安装 yarn add vuedraggablenext // or npm i -S vuedraggablenext二、插件使用 <template><draggableitem-key"id"class&q…...

PHP语言常见面试题:请解释一下PHP是什么,以及它的主要用途是什么?

PHP&#xff0c;英文全称为Hypertext Preprocessor&#xff0c;中文名称为“超文本预处理器”。它是一种通用的开源脚本语言&#xff0c;特别适用于Web开发领域。PHP最初是由Rasmus Lerdorf在1995年创建的&#xff0c;并且自那时以来&#xff0c;它已经发展成为一个功能强大且易…...

Unity(第六部)向量的理解和算法

标量:只有大小的量。185 888 999 &#xff08;类似坐标&#xff09; 向量:既有大小&#xff0c;也有方向。&#xff08;类似以个体为主体的方向&#xff0c;前方一百米&#xff09; 向量的模:向量的大小。&#xff08;类似以个体为主体的方向&#xff0c;前方一百米、只取一百米…...

TypeScript+React Web应用开发实战

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在现代Web开发中&#xff0c;React和TypeScrip…...

android开发电子书,android基础编程

内存泄漏是什么&#xff1f; 内存泄漏即 ML &#xff08;Memory Leak&#xff09; 指 程序在申请内存后&#xff0c;当该内存不需再使用 但 却无法被释放 & 归还给 程序的现象 内存泄漏有哪些情况&#xff0c;对应的解决方案&#xff1f; 内存泄漏的原因归根到底就是当需…...

2024-02-25 Unity 编辑器开发之编辑器拓展6 —— Event

文章目录 1 Event 介绍2 重要 API3 代码示例 1 Event 介绍 ​ Event 提供许多属性和方法&#xff0c;允许检查和处理用户输入&#xff0c;主要用于 Unity 编辑器拓展开发。 ​ Input 相关内容需要在运行时才能监听输入&#xff0c;而 Event 专门提供给编辑模式下使用&#xf…...

DC-DC降压芯片用于直流充电桩,具备3A的输出电流能力,输入电压6~40VDC——D2576

随着新能源汽车的不断普及&#xff0c;如何解决新能源车充电的问题也成为大热话题&#xff0c;充电桩的数量与质量也是目前急需提升的热门方面&#xff0c;现阶段人们需要的充电桩主要有交流充电桩和直流充电桩&#xff0c;直流充电桩因其节能效率高、功率因数高、充电快、逐渐…...

4-如何进行细分市场的分析-02 细分行业的构成和基本情况

如何快速摸清行业的构成&#xff0c;通常会看同行或自己做过的相似的行业&#xff0c;会根据不同的行业来采用不同的研究方法。对于成熟的行业和不同的行业都会有一些比较通用的研究方式。 假设我们是在分析某一个行业&#xff0c;在分析行业的时候它的本质还是市场分析&#…...

L1-023 输出GPLT(PTA)

文章目录 输出GPLT题目描述代码 输出GPLT 题目描述 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序&#xff0c;按GPLTGPLT…这样的顺序输出&#xff0c;并忽略其它字符。当然&#xff0c;四种字符&#xff08;不区分大小写&#xff09;的个数不…...

【JavaEE进阶】 Spring AOP快速上手

文章目录 &#x1f343;什么是AOP&#x1f333;什么是Spring AOP&#x1f334;上手Spring AOP&#x1f6a9;引入依赖&#x1f6a9;编写AOP程序 ⭕总结 &#x1f343;什么是AOP AOP是Aspect Oriented Programming的简称&#xff08;又称为面向切⾯编程&#xff09; 什么是面向…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...