pytest接口自动化测试框架 | 单个/多个参数
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest接口自动化测试框架 | 单个/多个参数相关的知识,希望对你有一定的参考价值。
视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客
函数数据参数化
方便测试函数对测试数据的获取。
方法:
parametrize(argnames, argvalues, indirect=False, ids=None, scope=None)
常用参数:
argname:参数名
- argvalues:参数对应值,类型必须为list
- 当参数为一个时格式:[value]
- 当参数个数大于一个时,格式为:[(param_value1, param_value2, ...), (param_value1, param_value2, ...)]
使用方法:
@pytest.mark.parametrize(argnames, argvalues)
参数值为N个,测试方法就会运行N次
单参数
import pytest
# a参数被赋予2个值,函数会运行2遍
@pytest.mark.parametrize("a", ['aaa', 'bbb'])
# 参数必须和parametrize里面的参数一致
def test_01(a):
print('\\n' + a)
if __name__ == '__main__':
pytest.main(['-s', 'test_single_param.py'])
多参数
import pytest
# a参数被赋予2个值,函数会运行2遍
@pytest.mark.parametrize("a,b", [('zz', '123456'), ('xz', '123456')])
# 参数必须和parametrize里面的参数一致
def test_01(a, b):
print('\\n' + a)
print('\\n' + b)
if __name__ == '__main__':
pytest.main(['-s', 'test_multi_param.py'])
以上是关于pytest接口自动化测试框架 | 单个/多个参数的主要内容,如果未能解决你的问题,请参考以下文章
pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联