pytest

pytest-11-函数传参和fixture传参数request

2020-12-08  本文已影响0人  恶毒女配的日常

1、登录函数传参

为了提高代码的复用性,一般会用不同用例去调用函数。

测试用例传参需要用装饰器@pytest.mark.parametrize 里面分别两个参数

(1)第一个参数是字符串,多个参数中间用逗号隔开

(2)第二个参数是list,多组数据用元组类型

登录函数传参 运行结果

由运行结果可知,两个测试用例互不影响

2、request参数

@pytest.fixture装饰器,可把登录操作放在前置操作,传参默认request参数

request参数

indirect=True参数是为了把login当一个函数执行,而不是参数

运行结果

如果有多个参数,可以把多个参数用字典存储,转变成一个参数,使用key获取值如: user = request.param["user"]

test_user_data = [{'user': 'admin1', 'psw': '111111'},

                  {'user': 'admin1', 'psw': ''}]

用例上面可以同时放多个fixture,即多个前置操作,支持装饰器叠加,使用parametrize装饰器叠加时,用例组合是2个参数个数相乘,如:

多个前置操作 运行结果
上一篇 下一篇

猜你喜欢

热点阅读