首页 > 编程语言 >python---测试过程中增加进度条

python---测试过程中增加进度条

时间:2023-05-10 14:44:26浏览次数:44  
标签:tqdm 进度条 python pytest --- 测试用例 test 小编

前言

我们再执行自动化测试时,或者调试时,自动化测试用例数量过多,不清楚目前用例数执行了多少个了,还差多少个执行完成,这时候就会猜想,如果执行过程中存在进度条,就很清楚的了解到测试用例的执行情况,今天小编通过下面两种方法简单介绍如何在自动化测试时加入进度条

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种。自动化测试中加入进度条如何添加到对应项目中,就需要小伙伴们根据公司中的项目进行结合展示。感谢您的阅读,希望对您有所帮助。

 

标签:tqdm,进度条,python,pytest,---,测试用例,test,小编
From: https://www.cnblogs.com/qican/p/17387931.html

相关文章

  • 微信开发之JS-SDK + php 实现分享朋友/朋友圈,QQ/QQ空间
    一、绑定域名先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。二、引入JS文件http://res2.wx.qq.com/open/js/jweixin-1.6.0.js三、通过config接口注入权限验证配置把需要用到的JS-SDK的接口都放在jsApiList里面四、示例代码前端<!DOCTYPEhtml><ht......
  • ibatis-dynamic的用法
    去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:1.使用dynamic1.1xmlselect*fromPerson表    <dynamicprepend="where"><isNotNullproperty="name"prepend="and">......
  • MFC-进程
     ExitProcess结束进程                                      不同程序进程间通信 GetCurrentProcess获取当前进程的伪句柄   IsWow64Process32位进程是否运行在64位操作系统中CreatePro......
  • 正则表达式语法及其在python的应用
    一、语法参考:https://www.liujiangblog.com/course/python/731、普通字符:正则表达式中的普通字符在进行匹配的时候只会匹配与自身相同的一个字符。2、元字符:.小数点;|逻辑或;[]匹配字符集中的一个字符;[^]对字符集求反;-定义字符集中的字符区间;\对紧跟其后的一个字符进行转义;()对表......
  • SpringSecurity实战(二)-基于数据库认证
    pom依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId&......
  • 华硕ROG STRIX B760-G GAMING WIFI小吹雪D5评测:最能超的小主板 轻松提升14%
    一、前言:华硕推出新版B760-G小吹雪主板加入DDR5内存支持和以往的每一代规格一样,DDR5内存上市初期的表现并不如人意,频率是高了,但延迟也高了,导致性能提升一般般。经过一两年的演进,DDR5内存的时序延迟得到了极大的改善,再加上频率、带宽的明显进步,尤其是价格的平民化,DDR5内存逐渐成......
  • Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板
    系列文章Grafana系列文章......
  • PMP工具与技术-4.9-1 规划采购管理工具与技术
    ##############################################################上一章,我们写了关于规划采购过程中的文件内容,包括合同类型选择、采购管理计划、采购策略、招标文件、采购工作说明书(SOW)等内容。这一章主要说明规划采购管理过程中适用的工具。###############################......
  • openai模型个性化训练Embedding和fine-tuning区别
    现在基于自然语言和文档进行对话的背后都是使用的基于嵌入的向量搜索。OpenAI在这方面做的很好,它的Cookbook(github.com/openai/openai-cookbook)上有很多案例,最近他们对文档做了一些更新。GPT擅长回答问题,但是只能回答它以前被训练过的问题,如果是没有训练过的数据,比如一些私有数据......
  • Linux ARM架构_安装JDK8-银河麒麟V10 Kylin Linux
    原文链接:https://blog.csdn.net/a767815662/article/details/1245799391、官网下载aarch64架构jdk包2、linux服务器中创建java文件夹,方便后期快速寻找3、将jdk包传输到Linux系统中的/usr/local/java目录下4、查看linux机器中是否有安装jdk85、查看java安装文件6、卸载OpenJDK7、......