使用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……数字的顺序来执行