使用pytest-ordering 来自定义用例执行顺序

在前面的文章有说明pytest里面用例执行顺序,是按照脚本内写的case从上至下依次执行的(https://www.cnblogs.com/QiKa/p/13234762.html

那么如果遇到了一种情况就是:某一个用例需要用到前面的用例返回值呢?那么这时候就无法使用pytest本身执行用例的这个顺序了

解决方法:

使用插件:pytest-ordering可实现自定义用例执行顺序

1、安装:pip install pytest-ordering

2、例:

import pytest
class TestLogin():
@pytest.mark.run(order=5)
def test_c():   pass

@pytest.mark.run(order=4)
def test_b():   pass

@pytest.mark.run(order=3) def test_a():   pass
@pytest.mark.run(order=2) def test_02():   pass
@pytest.mark.run(order=1) def test_01():   pass

如上:对用例设置了@pytest.mark.run(order= )装饰器,最后运行用例时,会按照设置的装饰器@pytest.mark.run(order=1)中的参数order=1、2、3……数字的顺序来执行

原文地址:https://www.cnblogs.com/QiKa/p/13235707.html