【pytest學習】使用yaml實現用例數據參數化


一、單個參數列表

# 單參列表形式等價於

# @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'

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM