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"])
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjaehc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24