文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 前言
- 一、@pytest.mark.skip(reason)
- 二、@pytest.skip(msg)
- 三、@pytest.mark.skipif(condition,reason)
- 四、@pytest.mark.xfail(reason)
- 五、@pytest.mark.run(order)
前言
在UI自动化测试过程中会使用到pytest相关装饰器,本文主要介绍自己工作过程中使用到的装饰器
一、@pytest.mark.skip(reason)
设置跳过用例用于函数体外,可用于标注功能暂未实现的用例
import pytest
@pytest.mark.skip(reason="测试跳过")
def test001():
print('test001')
def test002():
print('test002')
pytest.main()
二、@pytest.skip(msg)
用例执行过程中若条件不成立时跳出当前用例,用于函数体内
import pytest
def test001():
if 2 > 1:
pytest.skip("条件成立")
print('test001')
pytest.main()
三、@pytest.mark.skipif(condition,reason)
根据条件跳过用例,用于类方法和具体函数,可以用于归类用例,限定条件来执行对应用例数据
import pytest
condition='monica'
@pytest.mark.skipif(condition=='monica',reason='测试跳过')
def test002():
print('test002')
pytest.main()
四、@pytest.mark.xfail(reason)
该方法主要用到某些场景bug未修复或者用例存在问题可以直接标注为失败状态
import pytest
@pytest.mark.xfail(reason='测试标注失败')
def test001():
print('用例1')
def test002():
print('用例2')
pytest.main()
五、@pytest.mark.run(order)
设置用例执行顺序,数字越小优先执行
import pytest
#pytest装饰器
@pytest.mark.run(order=1)
def test002():
print('用例2')
@pytest.mark.run(order=2)
def test001():
print('用例1')
pytest.main()



