通过2种Python库,教会你如何在自动化测试时加入进度条?

news2025/1/15 7:02:35

前言

我们在执行自动化测试或者调试时,自动化测试用例数量过多,不清楚目前用例数执行了多少个了,还差多少个执行完成。

这时候就会猜想,如果执行过程中存在进度条,就很清楚的了解到测试用例的执行情况,今天小编通过下面两种方法简单介绍如何在自动化测试时加入进度条。

pytest-sugar

pytest-sugar是属于pytest的一个插件,想要对自动化测试用例加入进度条时,我们就可以通过该插件进行实现。

安装:pip install pytest-sugar

使用:安装完成后,正常运行程序即可。

小编通过实例进行展示下如何使用,首先编写几个简单的测试用例,方面运行程序:

#coding:utf-8

import pytest

def test_01():

print('这是测试用例01')

def test_02():

print('这是测试用例02')

def test_03():

print('这是测试用例03')

通过cmd执行程序(这里小编电脑上安装的有,所有执行时加入对应参数,不调用),页面没有显示任何进度条内容。

再次通过cmd执行程序,页面上显示对应的进度条内容,且通过的测试用例处,显示对号的图标,表示用例执行通过。

当用例中存在失败时,就会显示x图标来显示用例失败。

当我们使用过程中如果不想显示进度条,可以卸载pytest-sugar或者通过命令行在执行程序时加入pytest test01.py-p no:sugar从而达到不允许进度条的显示。

tqdm

上面小编介绍的属于pytest中插件的进度条显示,这个tqdm属于python中的第三方库,可以在python中添加一个进度条信息,属于一个快速,扩展性比较强的进度条工具库了。

接下来和小编一起认识下如何在自动化测试中使用吧。

安装:pip install tqdm

使用方法:导入库后,通过for进行循环,将其包装在tqdm中,tqdm会自动显示进度进度条,并循环结束后自动关闭。

#coding:utf-8

from tqdm import tqdm

import time

for i in tqdm(range(100)):

time.sleep(0.1)

通过在cmd中运行程序后,会发现进度条自动执行并达到100%结束。

那么如何将tqdm使用到我们的自动化测试中呢?

有的小伙伴们肯定会说直接将测试用例添加到for循环中,但是这样就导致了测试用例会根据for循环的次数,进行依次执行。这样肯定是不行的,我们需要将进度条正常运行,但是用例只执行1次。大家可以一起想想,这里小编我们使用了列表的方式,实现了这个功能。

1.首先讲测试用例编写完成;

2.创建一个列表,将测试用例依次添加到列表中;

3.通过for循环读取列表,依次执行测试用例并且将进度条打印出来。

#coding:utf-8

from tqdm import tqdm

import time

#创建一个测试集

test_cases=[]

def test_01():

print('这是测试用例01')

def test_02():

print('这是测试用例02')

def test_03():

print('这是测试用例03')

#分别将对应的测试用例添加到列表中

test_cases.append(test_01)

test_cases.append(test_02)

test_cases.append(test_03)

#通过tqdm展示进度条显示,其中tqdm的设置次数为执行用例的总数

with tqdm(total=len(test_cases))as pbar:

for case in test_cases:

case()#执行测试用例

time.sleep(0.1)

pbar.update(1)#更新进度条显示

通过上面的思路,小编这里写了一些代码,然后我们通过cmd运行已经可以将进度条显示出来了。

总结

这里小编已经将关于自动化测试用例中如何添加进度条的方法已经介绍完了,当然方法不仅仅只有这2种。自动化测试中加入进度条如何添加到对应项目中,就需要小伙伴们根据公司中的项目进行结合展示。感谢您的阅读,希望对您有所帮助。

最后:

可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试持续集成、测试架构开发测试框架、性能测试等。

这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

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

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

相关文章

Cannot read properties of null (reading ‘content‘)报错解决

项目是用vue3webpack,始终启动不成功~ 一、问题报错 二、报错解决尝试总结 (1)首先尝试的是因为我近期在做vite3vue3的需求把node版本升到了 16.17.1 猜测是不是node版本影响的 node版本切了14.15.3,16.17.1,以及很…

【换根DP+容斥】P3047 [USACO12FEB]Nearby Cows G

P3047 [USACO12FEB]Nearby Cows G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 思路: 做法就是换根 预处理dp[v][j]用普通的树形DP处理即可 注意:一开始预处理的dp[v][j]指的是在v的子树里离v为j的权值和 Code: #in…

JavaWeb12-三大组件之过滤器-Filter

1. 官方文档 文档:java_ee_api_中英文对照版.chm 2. Filter 过滤器说明 2.1 为啥要过滤器-需求示意图 ● 一图胜千言 2.2 过滤器介绍 Filter 过滤器它是 JavaWeb 的三大组件之一(Servlet 程序、Listener 监听器、Filter 过滤器)Filter 过滤器是 JavaEE 的规范…

图像处理:手写实现图像增广算法(旋转、亮度调整、裁剪与拼接)

前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,而图像增广算法可以通过对原始图像进行一系列变换,扩充数据集,从而提升模型的泛化能力和鲁棒性。 本文将着重介绍…

win10系统cpu版本 Tensorflow2.5.0的安装

文章目录 前言电脑重装系统了,顺便简单记录一下我的tensorflow2.5.0 CPU的安装过程 一、创建一个虚拟环境?二、确定 输入 y三、激活你的环境四、安装tensorflow2.5.0五、利用清华镜像源加速一下,不然等到猴年马月!六,开…

Shape-E:文字到3D的生成模型试用

文章目录 Shape-E:文字到3D的生成模型试用项目介绍项目地址项目使用试用Text to 3DImage to 3D 总结 Shape-E:文字到3D的生成模型试用 项目介绍 Shape-E是一个生成3D模型的工具,可以通过输入文字或者上传图片生成3D模型。该模型的项目地址是…

穿越火线(CF) AI 自瞄 代码 权重 数据集 亲测可用(结尾有资源)

初衷 本人热衷玩CF,同时为一名程序员,近期听说AI霸占FPS游戏,本着学习的态度,特来测试 不喜欢看过程的小伙伴直接看最下面 模型 采用yolov5模型架构 对过程感兴趣的小伙伴下文自行学习 https://zhuanlan.zhihu.com/p/17212138…

数字孪生技术在矿业领域怎样应用?

随着科技的不断发展,数字孪生技术正逐渐走入矿业领域,为这个传统行业带来了全新的变革和机遇。数字孪生技术以其精准模拟和实时监控的特性,为矿业企业提供了更高效、更安全的运营和管理方式。 在矿业开采过程中,数字孪生技术的应…

代码随想录算法训练营day42 | 01背包问题,你该了解这些!,01背包问题,你该了解这些! 滚动数组 , 416. 分割等和子集

代码随想录算法训练营day42 | 背包理论基础,背包理论基础(滚动数组), 416. 分割等和子集 1、01背包理论基础背包问题概述01背包二维dp数组01背包案例 2、01背包理论基础(滚动数组)3、 416. 分割等和子集解…

Redis持久化-Redis主从-Redis哨兵-Redis分片集群

主要内容 Redis持久化Redis主从Redis哨兵Redis分片集群 Redis持久化 Redis有两种持久化的方案: RDB持久化AOF持久化 1. RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所…

数字化时代下,制造业企业应该这样做仓库管理

透过现象看本质,在传统的仓储管理中都存在着以下问题: 1.信息化水平较低,以人工为主,以纸张为主,效率低下,容易出现错误; 2.信息流的不对称性,各个过程之间的联系不紧密,…

【高危】Apache Spark UI shell 命令注入漏洞(POC)

漏洞描述 该漏洞是针对此前CVE-2022-33891漏洞的修订,原有漏洞通告中认为3.1.3版本已修复该漏洞,后发现仍受到影响,3.1.3版本已不再维护,官方建议升级至3.4.0版本。 Apache Spark是美国阿帕奇(Apache)软件…

在这里总有一款高温介电温谱仪适合您(GWJDN-300/600/1000型多种可选)

GWJDN-300型多用途型高温介电温谱仪 关键词:高温介电,变温,电容,损耗 GWJDN-300高温介电温谱仪是一款专门用于评估电介质材料高温介电机制(材料极化、储能、驰豫、相变、微结构变化、分子团重新取向等)的…

远程控制电脑怎么弄? 远程控制电脑方法介绍

如何免费远程控制电脑? “你好,你知道任何可靠的免费Windows远程控制软件吗?我需要在工作电脑和家用电脑之间进行远程控制,因为我将出差数周。有什么好用的远程控制电脑方法吗?提前致谢!” 电脑之间如何…

ChatGPT学习指南

主旨 大家好,我是五竹。心血来潮整理了这份手册并且将为小白们持续更新和GPT相关的资源和教程,专注于打造一部最好的GPT入门指南。此文档永久免费在线查看,欢迎大家转发、收藏、点赞支持!后面会在文档中更新:ChatGPT学…

优秀互联网产品经理必备的10张业务图谱

作为离产品最近的人,产品经理是团队的交通枢纽,链接运营的需求和程序员的开发工作。面对庞杂多面的工作,今天小编和大家聊聊产品经理在工作各环节想要精进专业,都需要具备哪些能力。 01学习篇 持续学习的概念早已被大家接受&#…

海量数据同步到DDM(oracle到mysql)

1、由于oracle的rownum性能,所以通过主键ID实现分页; 2、数据可能存在重复,批量插入mysql使用insert ignore语法; 3、DDM数据库,过千万后并发插入,性能就很差:采用单线程一千条批量插入&#…

MySQL--索引--0427--0507

目录 1. MySQL是如何处理数据的 2. MySQL与磁盘的关系 3. MySQL与磁盘交互的基本单位 4.MySQL和磁盘之间联系的总结 5.索引的理解 5.1 理解单个page 5.2 理解多个page 5.3 为什么采用B树 5.4 聚簇索引 和 非聚簇索引 5.5 聚簇索引 和 非聚簇索引下的普通索引 6.索引操作…

Spring 注解之@RestController与@Controller的区别

目录 1:介绍 2:区别 3:总体来说 4:社区地址 1:介绍 RestController 和 Controller 是 Spring MVC 中常用的两个注解,它们都可以用于定义一个控制器类。 2:区别 返回值类型不同:…

STM32单片机声控语音识别RGB彩灯多种模式亮度可调WS2812彩灯

实践制作DIY- GC0129-语音识别RGB彩灯 一、功能说明: 基于STM32单片机设计-语音识别RGB彩灯 二、功能介绍: STM32F103C系列最小系统板5VUSB电源64个灯珠的WS2812灯板1个开关键(3档亮度调节)1个模式切换键(白灯 红灯…