Python自动化之pytest.mark.parametrize参数化
一、前言
Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT。 如:@pytest.mark.parametrize('method,url,data,except',[('get','www.baidu.com','{"page":1}','{"code":0,"msg":"成功"})',('post','www.baidu.com','{"page":2}','{"code":0,"msg":"成功"}')])
二、参数说明
@pytest.mark.parametrize('参数名',list)
(1)第一个参数是字符串,多个参数中间用逗号隔开
(2)第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应
(3)传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化
(4)传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
三、使用方法
1.单参数传单值,多值
2.多参数传递多值
参数名是一个字符串,多参数用英文逗号隔开