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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   CTS测试全称为系列兼容测试(Compatibility Test Suite),CTS是为了测试手机是否符合Google定义的兼容性规范(Compatibility Definition)而设置的。  顾名思义,CTS测试是针对谷歌系统框架(GMS)进行适配性测试的。目前正在兴起的鸿蒙操作系统(Harmony OS)可能无法完全适配。  CTS这个兼容性测试和软件测试中的兼容测试是完全不同的概念。CTS测试是针对设备的,只有通过CTS测试的设备才有可能获得Android的商标,并且享受Android Market的权限。  由于Google系统的开源性,使得很多手机厂商基于安卓系统都做出...
            12 12 1619
            分享
          • 今天给大家分享一个“VirtualEnv(虚拟环境)”的概念。在学习RobotFramework时遇到这么一个问题:电脑本地环境已经安装了python3,但是RobotFramework接口测试框架一开始对python3的兼容还不够完全,存在较多的问题,所以需要使用python2环境来开展接口自动化工作。这个时候就遇到python和python3版本造成的环境冲突的问题了。如果卸载python3重新安装python2会导致我原有的其他项目可能出现问题;那么如果直接使用python3环境对应的RobotFramework又存在很多兼容性问题。怎么办?这时候“VirtualEnv(虚拟环境)”的好...
            0 0 1436
            分享
          •   JasperReports介绍  JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF、HTML或者XML格式,该库完全由Java写出,可以用于在各种Java应用程序,非常适合Java开发者用来做报表生成。  基本使用指南  新建项目  首先选择模板,这里就直接选了普通的A4模板。  这里用来设置文件名字和文件路径。  这里是选择数据源,我这里已经事先创建好了数据库连接,在后续测试取数据的时候会用到。  这里就是JasperReport的主界面,首先介绍一下界面的五个主要区域:  区域1:选择数据源和项目;  区域2:用于展示报表的内容列表,报...
            0 0 944
            分享
          •   项目系统介绍  地质系统——主要作用进行地质数据建模、数据收集、数据计算及数据传递。  执行系统——主要根据地质系统传过来的数据,如平面地质图、巷道现状图等进行车辆调度并统计相关生产数据。  Mes系统——主要用于从相关系统获得的数据进行日报展示、大屏重点数据展示及相关数据业务数据展示。  各系统间逻辑关系:数据获取-计算-执行-展示。  项目背景:没有详细的需求文档,测试人力少 (2人)。  用例编写  用例的重要性  有时候因为时间紧张,没有编写测试用例,虽然可能会在一定程度上节省时间,但是这也可能导致关键的测试点被遗漏,从而影响测试的全面性和准确性。编写测试用例能够确保系统的各个方面...
            0 0 1636
            分享
          •   引言  正值毕业季,这篇短文希望通过有趣的理论与常年实践,可以帮助初学者打开Linux的大门~  一 Linux发展史  1.Linux发展史  Unix(汇编语言)1970年01月01日,Unix元年 时间戳  C语言修改1973年  Linux诞生  李纳斯 Linux之父  0.0.1版本1991年  2.6版本2003年  指的是Linux的内核版本  2.开源文化  Linux是开源的操作系统,即开放源代码  Stallman 开源文化的倡导人  1983年 GNU计划  1990年 GCC(C语言的编译器)  1991年 Stallman找Linus,让Linux加入GNU计划...
            0 0 311
            分享
      • 51testing软件测试圈微信