• 0
  • 0
分享
  • 这两个Python库,给你的自动化测试加个进度条——软件测试圈
  • 曼倩诙谐 2023-07-14 16:24:12 字数 1885 阅读 770 收藏 0

  前言

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

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

  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执行程序(这里小编电脑上安装的有,所有执行时加入对应参数,不调用),页面没有显示任何进度条内容。

1-1.png

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

-2.png

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

1-3.png

  当我们使用过程中如果不想显示进度条,可以卸载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%结束。

1-4.png

  那么如何将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运行已经可以将进度条显示出来了。

1-5.png

  总结

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


作者:测试安静    

来源:http://www.51testing.com/html/36/n-7796136.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   简介  除了测试,测试数据创建、需求跟踪和测试报告等任务也可自动化。  随着迭代,可自动化的内容越来越多:  什么应该被自动化?  与人工测试相比,具备明显收益  ·如果失败会对业务造成相当大的损失的业务功能或用户流;自动化测试有助于经常验证这些功能。  · 需要针对应用程序的每个构建或发布版本运行的测试,如烟雾测试、正常性测试和回归测试。  · 需要针对多种配置运行的测试,如不同平台和浏览器的组合。  · 涉及大量测试数据集或输入大量数据的测试,例如填写很长的表格,因为测试自动化有助于实现扩大覆盖范围,减少工作量和提高可靠性。  · 报告,自动化测试报告减少了人工干预,并产生频繁和最新的...
            0 0 601
            分享
          • 1、什么是兼容性测试?兼容性测试侧重哪些方面?参考答案:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。2、我现在有个程序,...
            11 11 764
            分享
          •   前言  我在做51Testing讲堂以及和参加讲堂的同学们在微信群里互动的时候,有个同学提出最好能在安全工具当中集成扫描功能,这个建议勾起了我的兴趣,下面大家将会看到的扫描器,就这么出炉了。  扫描器的设计思想是:灵活、易扩展、易修改。  灵活的意思就是可单独执行专项漏洞的扫描,也可以批量执行集成的所有漏洞探测模块;易扩展的意思就是,新的漏洞检测模块可清晰简单的集成进扫描器;易修改,对各个漏洞扫描模块可根据特殊情况修改探测逻辑。  不管是安全,或者是渗透测试,我们的假想敌都是不法的黑客分子,就个人能力的角度来看,对漏洞的理解及漏洞利用场景的熟悉程度,决定了我们匹配哪一级别的骇客。  当然,...
            11 11 2159
            分享
          • 1、按严重程度分类:是指bug对软件质量的破坏程度,即此bug的存在将对软件的功能和性能产生什么样的影响。崩溃(Blocker):系统无法正常运行。阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环、导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题。如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。严重(Critical):很明显的错误性的bug。系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符模块无法启动或调用,程序重...
            0 0 924
            分享
          • 计算机基础1、虚拟内存:进程被创建时,会被分配一个虚拟内存,在进程未开始运行时,这只是一个内存布局。当进程开始运行,就会把虚拟内存对应的数据和代码块拷贝到物理内存中。如果物理内存上没有对应的页表,会发生缺页异常。程序访问的地址都是虚拟内存地址,通过页表才能找到真正的物理内存地址。2、TCP/IP五层模型(从下往上):物理层:保证原始数据可在各种物理媒体上传输,主要应用:集线器数据链路层:传输单位为帧,主要应用:交换机网络层:传输单位为数据报,主要应用:路由器,保证端到端系统之间通信正常,路径选择、路由及逻辑寻址。主要协议:IP协议、ICMP协议(ping命令即为该协议)、ARP协议(IP地址转...
            2 5 2329
            分享
      • 51testing软件测试圈微信