Pytest常用装饰器使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在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()

六、 @pytest.mark.parametrize(str,list),参数化用例测试数据

#1.参数名为str类型,多个属性用逗号隔开,一个key对应list对象中的一个value,且list中可以嵌套list、tuple
#2.若存在多个属性和值时,用例会自动执行多次不用人为通过for循环遍历测试数据,且方法的入参个数要与装饰器中
#参数个数一致否则报错
import pytest
#传入单个值
@pytest.mark.parametrize('user',[1])
def test001(user):
    print(user)
#多个属性值
@pytest.mark.parametrize('user,name',[[1,2]])
def test002(user,name):
    print(user)
    print(name)
#多个属性值对应多个值
@pytest.mark.parametrize('user,name,age',[['monica1','monica2',18],('monica4','monica5',19)])
def test003(user,name,age):
    print(user,name,age)
#测试数据也可以作为一个变量传入
data=   [['monica1','monica2',18],('monica4','monica5',19)]
@pytest.mark.parametrize('user,name,age',data)
def test004(user,name,age):
    print(user,name,age)
if __name__ == '__main__':
    pytest.main(["-vs"])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值