Python BDD之Behave测试报告

news2025/1/18 7:31:34

behave 本身的测试报告

behave 本身提供了四种报告格式:

  • pretty:这是默认的报告格式,提供颜色化的文本输出,每个测试步骤的结果都会详细列出。
  • plain:这也是一种文本格式的报告,但没有颜色,并且在执行每个步骤后只输出一个新行。
  • progress:这种报告格式只在执行每个测试步骤后输出一个单字符。
  • json:这种报告格式以 JSON 格式输出测试结果,易于进行进一步处理。
    使用 -f 参数或 --format 参数来指定报告的格式。

pretty 美化的文本格式

在这里插入图片描述

  • 这里没有看到颜色的差别, 但是会显示每个步骤对应的代码行数

plain 普通文本格式

在这里插入图片描述

  • 这里只会显示步骤执行的结果, 没有显示具体的步骤对应的代码函数

progress 格式

在这里插入图片描述

  • 没有显示步骤

JSON格式

以JSON格式的输出为例:

behave -f json

这将在控制台输出 JSON 格式的测试结果。

在这里插入图片描述

格式化一下JSON字符串,显示如下:
在这里插入图片描述

可以看到JSON 的字符串包括了Feature的名字,以及各步骤和执行结果等信息。

如果希望将结果保存到文件,可以将输出重定向到一个文件,也可以使用 -o 参数或 --outfile 参数将结果写入文件:

behave -f json -o report.json

这将会产生一个名为 report.json 的文件,其中包含 JSON 格式的测试结果。这个JOSN格式的内容和上面控制台的JSON是一致的。

总结

behave 本身产生的测试包括可以使用在CI/CD 的集成上, 用来判断整个测试是否成功, 如果需要一些更直观和易读的报告, 可以结合Allure 等工具。

结合 Allure 产生更丰富的报表

有一些第三方工具或插件可以生成更好看或更有用的报告,例如 allure-behave 可以生成富交互性的 HTML 测试报告。

Allure 是什么?

Allure 是一个开源的可视化报告工具,适用于各种不同的测试框架(包括 pytest、NUnit、Jasmine 等)。Allure 可以收集测试执行的信息,生成描述测试执行结果的详细、交互式的 HTML 报告。
Allure 报告是一种可视化的测试报告,它为你提供了丰富的信息,例如测试历史、执行时间、附件等。

hebeave + Allure 产生报表的步骤

  1. 安装Python的 allure-behave 模块。allure-behave是一个用于生成 Allure 测试报告的behave插件。
    在命令行输入 pip install allure-behave

成功安装的界面如下:
在这里插入图片描述

  1. 安装Allure 命令行工具

Windows 安装Allure 命令行

在Windows 中可以使用scoop 安装Allure , 而 scoop 则可以通过Windows 的PowerShell 进行安装。

关于 Scoop

Scoop是一种适用于Windows操作系统的命令行软件包管理器,用于快速安装、升级和卸载应用程序。它使用PowerShell命令行界面,可以从互联网上获取开源软件,软件包命令可以方便地从GitHub上获取。Scoop不需要管理员权限,可以在用户帐户下运行。Scoop是自由开源软件,可以在GitHub上查看其代码。

Windows下如何安装 scoop

在 Windows 中,可以按照以下步骤安装scoop命令行安装器:

  1. ** 确认系统满足安装要求**:
    scoop需要 Windows 7 SP1+、Windows Server 2008+ 或更高版本,以及 PowerShell 5 以上版本(或 PowerShell Core 6+)。

  2. 安装 PowerShell

  • 如果系统是 Windows 10,已经有该所需的 PowerShell 版本。
  • 如果系统是 Windows 7/8/8.1,需要手动升级 PowerShell。可以在 Microsoft 的官方网站下载最新版本的 PowerShell。

在开始菜单输入 "po“就可以找到PowerShell 了, 如下图
在这里插入图片描述

  1. 开启 PowerShell 脚本执行权限
    打开 PowerShell(以管理员权限),运行以下命令:
  Set-ExecutionPolicy RemoteSigned -scope CurrentUser

命名输入后提示是否更改策略, 输入 ”A“ 就可以了。

在这里插入图片描述

这个命令开启 PowerShell 脚本的执行权限,允许你在 PowerShell 中运行`scoop`的安装脚本。
  1. 安装scoop

在 PowerShell 中,运行以下命令:

iwr -useb get.scoop.sh | iex
  • 这个命令下载并运行scoop的安装脚本,会把scoop安装到你的用户目录下的scoop文件夹高。

安装成功后,你可以通过scoop help命令查看scoop的用法说明。

需要注意,由于scoop需要访问 GitHub 以获取并安装软件,如果你所在的网络环境无法访问 GitHub,可能会导致scoop安装或使用中遇到问题。类似如下错误信息:
在这里插入图片描述

Windows下如何安装 Allure 命令行

如果正确安装了scoop ,可以通过 scoop install allure 安装Allure ,需要注意这种方式需要安装Java ,而且版本是 8 以上, 而且配置了JAVA_HOME环境变量,
如果无法正确安装scoop 。 也可以通过直接下载allure的命令行工具。 下载完成之后将 allure目录的bin 目录添加到Path中, 如下图:

在这里插入图片描述

allure的Windows命令行工具的最新版下载地址: https://download.csdn.net/download/oscar999/88559298, 也可以到 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline 查找适当的版本下载。

hebeave + Allure 产生报表

上面的环境准备完成, 就可以产生报表了, 具体步骤如下:

1.命令行切换到规格文件所处目录的父目录,执行如下命令:

behave -f allure_behave.formatter:AllureFormatter -o allure_data

注意:只有正确安装了allure-behave 模块模块之后才能 通过指定allure_behave.formatter:AllureFormatter作为格式化器和输出目录,来运行behave, 否则会提示beheave不认识这个命令选项

在这里插入图片描述

正确执行的效果是:
在这里插入图片描述

上面的命令会将测试的结果放在allure_data目录中,

这个目录会产生一个 json格式的文件。

在这里插入图片描述

  1. 在命令行输入
allure serve allure_data

执行的结果是:

在这里插入图片描述

执行之后会打开一个浏览器窗口, 这里显示的就是一个高大上的在线报表页面了:
在这里插入图片描述

Allure 报告的常见组成部分及其含义如下:

  1. Overview: 报告首页会显示一个总览(Overview),其中包括执行的测试用例总数、通过率、持续时间,以及故障、错误等统计信息。

  2. Graphs: 报告提供一些数据可视化,如饼图和柱状图,以便更好地理解测试分布、状态、持续时间等。这有助于识别测试的瓶颈和问题。

  3. Categories: 测试结果可以按问题类型或故障类型分类。Allure 报告支持创建自定义类别,以根据用例标签(如自动化用例、手动用例等)对测试结果进行分组和筛选。

  4. Timeline: 时间线视图展示了测试用例的执行顺序以及每个测试用例的开始和结束时间。这有助于查看并发量和找出性能问题。

  5. Test Details: 报告中的每个测试用例都有详细的信息,例如测试名称、描述、状态(通过、失败、跳过等)、测试步骤、运行时间等。此外,也有可能包含额外的信息,如屏幕截图、日志文件或自定义文档等。

  6. History: Allure 报告支持展示测试的历史数据,有助于追踪和分析测试的稳定性和质量。例如在多次构建间查看失败案例的趋势。

  7. Attachments: 可以添加附件到测试步骤或测试用例,以显示与测试相关的其他信息。例如,错误日志, 屏幕截图, 视频记录等,可以帮助更好地诊断问题。

  8. Retries: 如果测试用例执行失败,Allure 支持自动重试。在报告中,原始测试用例和重试测试用例会分开显示,以便查看重试次数和结果。

参考

  • allure
    安装说明:https://allurereport.org/docs/gettingstarted-installation/


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

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

相关文章

【C++】泛型编程 ⑫ ( 类模板 static 关键字 | 类模板 static 静态成员 | 类模板使用流程 )

文章目录 一、类模板使用流程1、类模板 定义流程2、类模板 使用3、类模板 函数 外部实现 二、类模板 static 关键字1、类模板 static 静态成员2、类模板 static 关键字 用法3、完整代码示例 将 类模板 函数声明 与 函数实现 分开进行编码 , 有 三种 方式 : 类模板 的 函数声明…

超详细!新手必看!STM32-通用定时器简介与知识点概括

一、通用定时器的功能 在基本定时器功能的基础上新增功能: 通用定时器有4个独立通道,且每个通道都可以用于下面功能。 (1)输入捕获:测量输入信号的周期和占空比等。 (2)输出比较:产…

电大搜题——让学习变得轻松高效

作为一名现代学者,您一定时刻关注着教育领域的进展和创新。今天,我将向大家介绍一个名为“电大搜题”的神奇工具,它将为您的学习之路带来一场完美的革命。 在快节奏的现代社会中,学习已经成为每个人追求成功的必经之路。然而&…

Linux超简单部署个人博客

1 安装halo 1.1 切换到超级用户 sudo -i 1.2 新建halo文件夹 mkdir ~/halo && cd ~/halo 1.3 编辑docker-compose.yml文件 vim ~/halo/docker-compose.yml 英文输入法下,按 i version: "3"services:halo:image: halohub/halo:2.10container_…

2023年【起重机械指挥】考试题及起重机械指挥找解析

题库来源:安全生产模拟考试一点通公众号小程序 起重机械指挥考试题考前必练!安全生产模拟考试一点通每个月更新起重机械指挥找解析题目及答案!多做几遍,其实通过起重机械指挥作业考试题库很简单。 1、【多选题】按照事故造成的人…

新手必看!!附源码!!STM32通用定时器输出PWM

一、什么是PWM? PWM(脉冲宽度调制)是一种用于控制电子设备的技术。它通过调整信号的脉冲宽度来控制电压的平均值。PWM常用于调节电机速度、控制LED亮度、产生模拟信号等应用。 二、PWM的原理 PWM的基本原理是通过以一定频率产生的脉冲信号&#xff0…

Java 编码

编码: 加密: 通过加密算法和密钥进行 也可通过码表进行加密 对称加密: 缺点:可被截获 元数据---加密算法密钥密文 ----> 解密算法密钥元数据 算法:DES(短 56位),AES(长 128位)破解时间加长 非对称加密: 元数据-加密算法加密密钥 密文 --->加密算法解密密钥元数据 …

亚马逊买家号用邮箱怎么注册

想要用邮箱注册亚马逊买家号,那么准备好能接受验证码的邮箱后打开相应的亚马逊官网即可。打开官网后点击注册——输入昵称——输入邮箱——输入密码——接受邮箱验证码并输入,如果遇到需要手机号验证就输入手机号,如果不需要验证,…

Mac M1 安装Docker打包arm64的python项目的镜像包

1、首先安装Docker,到官网下载,选择apple chip版 Docker中文网 官网 2、双击下载的dmg文件,在弹出框中之间拖拽到右边 3、打开docker,修改国内镜像源,位置在配置-DockerEngine "registry-mirrors": ["…

2023年,人工智能在医疗行业领域的应用场景

本期行业洞察将带领大家了解人工智能在医疗行业领域的应用,主要了解在患者治疗和运营中的应用、人工智能作为预防工具以及大型医院目前如何使用人工智能。未来的智慧医疗时代已经悄然到来。 人工智能在患者治疗和机构运营中的应用 人工智能有望彻底改变医疗护理的…

USB驱动开发基础

USB标准 USB1.0, 1996,低速1.5Mbps和高速12Mbps,USB1.1 iMac G3,Type A和Type B接口USB 2.0 2000, 480Mpbs,Type A/B/C接口、Micro A/BUSB 3.0 5Gbps, 随着USB 3.2命名规定,现在也叫USB 3.2 Ge…

羊大师提示,羊奶都有哪些惊人功效?

羊奶不仅是一种美味的健康饮品,在近年来备受瞩目的的健康圈子里,羊奶还被赋予了更多的功效,成为一种备受推崇的保健品。羊奶不但富含营养,而且还有着非常多的益处,它能够用来美容、保健,甚至还可以治疗某些…

Epub书籍阅读工具

Epub书籍阅读工具 前言WIndows总结Neat ReaderAquile ReaderWPS Android总结Neat Reader掌阅 前言 Epub文件为电子书文件格式,此格式的电子书相比txt书籍,增加了目录跳转功能,并可以显示图片。本文介绍WIndows和Android端的epub书籍阅读工具…

Bug等级划分

Bug是指在程序或系统中存在的错误、缺陷或异常,是由于编码错误、设计问题、逻辑错误或其他因素导致的。 常见的Bug分类方法 功能性Bug与软件的功能有关,软件无法正常工作、功能与需求不符或功能执行不正确。 用户界面Bug与软件的用户界面有关&#xff…

C++电脑组装项目(涉及知识点:多态)

需求&#xff1a; #include <iostream> #include "Computer.h" #include "AbstractCpu.h" #include "AbstractMemory.h" #include "AbstractVideoCard.h" #include "IntelCpu.h" #include "IntelMemory.h" …

langchain 部署组件-LangServe

原文&#xff1a;&#x1f99c;️&#x1f3d3; LangServe | &#x1f99c;️&#x1f517; Langchain LangServe &#x1f6a9; We will be releasing a hosted version of LangServe for one-click deployments of LangChain applications. Sign up here to get on the wa…

PHP反序列化简单使用

注&#xff1a;比较简陋&#xff0c;仅供参考。 编写PHP代码&#xff0c;实现反序列化的时候魔法函数自动调用计算器 PHP反序列化 serialize(); 将对象序列化成字符串 unserialize(); 将字符串反序列化回对象 创建类 class Stu{ public $name; public $age; public $sex; publi…

Vue 定义只读数据 readonly

readonly 让一个响应式数据变为 **深层次的只读数据**。 isReadonly 判断一个数据是不是只读数据。 应用场景&#xff1a;不希望数据被修改时使用。 readonly 深层次只读&#xff1a; <template><h1>reactive数据</h1><p>姓名&#xff1a;{{ info…

在win10上安装pytorch-gpu版本2

安装anaconda即下载了python&#xff0c;还可以创建虚拟环境。 目录 1.1 anaconda安装 1.2 pytorch-gpu安装 1.1 Anaconda安装 anaconda的安装请看我之前发的tensoflow-gpu安装&#xff0c;里面有详细的安装过程&#xff0c;这里不做重复描述&#xff0c;传送门 1.2 pyt…

采用connector-c++ 8.0操作数据库

1.下载最新的Connector https://dev.mysql.com/downloads/connector/cpp/&#xff0c;下载带debug的库。 解压缩到本地&#xff0c;本次使用的是带debug模式的connector库&#xff1a; 注&#xff1a;其中mysqlcppconn与mysqlcppconn8的区别是&#xff1a; 2.在cmakelist…