栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytest怎么控制用例执行的先后顺序_pytest命令行参数?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest怎么控制用例执行的先后顺序_pytest命令行参数?

在很多人执行用例的时候呢,都会想要调整下用例的执行顺序。在pytest的原生的顺序已经满足不了我们的需求的时候呢,我们可以用pytest-ordering来控制我们的执行的顺序。

        安装

pip install pytest-ordering

        使用

@pytest.mark.run(order=3)def test_01():    print("test_01")    time.sleep(1.0)
@pytest.mark.run(order=2)def test_two():    print("test_two")    time.sleep(10)
@pytest.mark.run(order=1)def test_regin():    print("用例test_regin")    time.sleep(1.5)

def test_login():    print("用例login")    time.sleep(0.1)

def test_05():    print("用例5")    time.sleep(2.3)

        执行顺序是否

        可以看到,我们增加了顺序的,按照规定的数据执行,没有的,按照pytest的默认顺序执行了。

        当然还可以去自定义

        比如在conftest.py配置如下​​​​​​​

# conftest.pyimport pytest
def pytest_collection_modifyitems(config, items):    """ 根据指定的mark参数场景,动态选择case的执行顺序"""    for item in items:        scenarios = [            marker for marker in item.own_markers            if marker.name.startswith('scenarios')            and marker.name in config.option.markexpr        ]         if len(scenarios) == 1 and not item.get_closest_marker('run'):           item.add_marker(pytest.mark.run(order=scenarios[0].args[0]))

        可以根据mark参数场景动态选择case执行顺序

           使用​​​​​​

import time
import pytest

@pytest.mark.run(order=3)def test_01():    print("test_01")    time.sleep(1.0)
@pytest.mark.run(order=2)def test_two():    print("test_two")    time.sleep(10)
@pytest.mark.run(order=1)def test_regin():    print("用例test_regin")    time.sleep(1.5)
@pytest.mark.scenarios_1(2)def test_login():    print("用例login")    time.sleep(0.1)
@pytest.mark.scenarios_1(1)def test_05():    print("用例5")    time.sleep(2.3)

    这个时候,需要在pytest.ini配置下​​​​​​​

[pytest]markers=scenarios_1

      执行​​​​​​​

pytest one.py -m scenarios_1 -v -s结果如下

 正常情况下,使用自带的即可以满足测试需求。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走


这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…..关注下方我的微信公众号【程序员小濠】免费获取~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号