一、单个参数列表
# 单参列表形式等价于
# @pytest.mark.parametrize('name',['name1','name2'])
@pytest.mark.parametrize('name',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login0'])
二、元组形式的参数
# 相当于
# @pytest.mark.parametrize(('name','password'),[('name4','password4'),('name5','password5')])
@pytest.mark.parametrize(('name','password'),yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])
三、字典形式的参数
# @pytest.mark.parametrize('dict1',[{'name':'name7','password':'password7'},{'name':'name8','password':'password8'}])
# 这时就需要抓字典的key来实现参数化
@pytest.mark.parametrize('dict1',yaml.safe_load(open("./data.yml", encoding='utf-8'))['test_login1'])
值获取:
name=dict1['name']
password=dict1['password']
四、data.yml文件内容
#['name1','name2','name3'] 单参列表方式
test_login0 :
- 'name1'
- 'name2'
- 'name3'
#[('name4','password4'),('name5','password5'),('name6','password6')]多参列表套元组
test_login1 :
-
- 'name4'
- 'password4'
-
- 'name5'
- 'password5'
-
- 'name6'
- 'password6'
#[{'name7':'password7'},{'name8':'password8'},{'name9':'password9'}]
test_login2 :
-
name : 'name7'
password : 'password7'
-
name : 'name8'
password : 'password8'
-
name : 'name9'
password : 'password9'