3种方法,教你用Pytest更改自动化测试用例执行顺序

2346 篇文章 33 订阅
1257 篇文章 7 订阅

在这里插入图片描述

在自动化测试中,自动化测试用例设计原则就是:执行过程时不能存在依赖顺序。那么如果测试用例需要按照指定顺序执行,这个时候应该怎么做呢?

目前单元测试框架中UnitTest没有办法改变测试用例的执行顺序,但是另一个单元测试框架Pytest可以做到,辅助测试人员更改测试用例的执行顺序。

今天小编简单的介绍几种方法,教你如何通过Pytest进行更改自动化测试用例的执行顺序。

pytest

Pytest的执行顺序想必大家都清楚,是通过ascii码进行收集的,然后通过文件中从上往下的执行顺序进行运行,我们只需要将我们的测试用例在编写时,按照从上往下的顺序进行编写。

# coding:utf-8
import pytest
def test_a():
    print('测试用例01')
def test_b():
    print('测试用例02')
def test_c():
    print('测试用例03')

通过运行后发现,顺序是按照从上往下的顺序依次执行。

图片

pytest-ordering

pytest-ordering属于Pytest的一个插件,其目的就是帮助我们控制自动化测试用例的执行顺序,而且使用起来也比较简单。

安装:pip install pytest-ordering

使用方法

使用方法比较简单,我们只需要在编写好的测试用例前加上一个装饰器,然后通过改变装饰器传入的参数进行控制其用例执行的顺序。

小编这里拿到上方的用例,我们将从下往上的执行。

# coding:utf-8
import pytest
@pytest.mark.run(order=3)
def test_a():
    print('测试用例01')
    
@pytest.mark.run(order=2)
def test_b():
    print('测试用例02')
    
@pytest.mark.run(order=1)
def test_c():
    print('测试用例03')

通过执行测试用例会很清楚的看到,我们已经将测试用例的执行顺序改变了。

图片

pytest_collection_modifyitems

pytest_collection_modifyitems属于Pytest的钩子函数,这个函数可以收集我们的测试用例,收集完成后可以对其进行一些修改和排序功能,下面小编简单的介绍该使用方法。

使用方法

首先需要将pytest_collection_modifyitems这个函数放入到conftest.py文件中,然后对其进行二次开发,这里小编通过倒叙的形似修改了收集到的测试用例,从而改变测试用例的执行顺序。

# conftest.py
# coding:utf-8
def pytest_collection_modifyitems(session, items):
    print("收集到的测试用例:%s"%items)
    # 修改执行顺序
    items.reverse()
    for i in items:
        print('收集到测试用例名称:%s' %i.name)

编写3个简答的测试用例,通过命令行的方式进行运行,并且会发现也将我们的测试用例顺序改变和收集到了我们的测试用例相关信息。

# coding:utf-8
import pytest
def test_a():
    print('测试用例01')
def test_b():
    print('测试用例02')
def test_c():
    print('测试用例03')

总结

小编通过简单的案例介绍了如何在Pytest中改变测试用例的执行顺序。

当然上述方法并不是唯一的方法,只是提供一个简单的思路,小编还是希望大家编写测试用例时注意不要互相依赖,这样的话执行顺序就可以随机执行,保证我们的测试用例不受其他用例的干扰而成功执行。

感谢您的阅读,希望本篇文章对您有所帮助。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值