这两个Python库,给你的自动化测试加个进度条~

发表于:2023-5-12 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试安静    来源:51Testing软件测试网原创

  前言
  我们在执行自动化测试或者调试时,自动化测试用例数量过多,不清楚目前用例数执行了多少个了,还差多少个执行完成。
  这时候就会猜想,如果执行过程中存在进度条,就很清楚的了解到测试用例的执行情况,今天小编通过下面两种方法简单介绍如何在自动化测试时加入进度条。
  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种。自动化测试中加入进度条如何添加到对应项目中,就需要小伙伴们根据公司中的项目进行结合展示。感谢您的阅读,希望对您有所帮助。
  版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号