六十二、Python讀取yaml檔案
yaml簡介
-
yaml : Yet Another Markup Language :另一種標記語言。yaml 是專門用來寫配置檔案的語言,非常簡潔和強大,更直觀,更方便,有點類似於json格式。在自動化測試用的相當多,所以需要小夥伴們要熟練掌握,把測試資料存放在yaml檔案,也可以進行引數化。
-
yaml基本語法規則:
- 大小寫敏感
- 使用縮排表示層級關係
- 縮排時不允許使用Tab鍵,只允許使用空格。
- 縮排的空格數目不重要,只要相同層級的元素左側對齊即可
- '#'表示註釋,從這個字元一直到行尾,都會被解析器忽略,這個和python的註釋一樣
- yaml支援的資料結構有三種:
- 物件:鍵值對的集合,又稱為對映(mapping)/ 雜湊(hashes) / 字典(dictionary)
- 陣列:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
- 純量(scalars):單個的、不可再分的值。字串、布林值、整數、浮點數、Null、時間、日期
一、安裝yaml
pip install pyyaml
2.yaml的基本使用
在同一目錄下新建test_data.yaml
和read_yaml.py
檔案。
yaml檔案:
test_data.yaml
py檔案:
read_yaml.py
執行結果:
[{'account': 'admin', 'pwd': '660B8D2D5359FF6F94F8D3345698F88C', 'code': '退出'}]
3.封裝yaml
我們把yaml檔案放在登入測試裡實現(前提已安裝好資料驅動ddt、看我的上一篇文章)
也可以直接應用封裝好yaml檔案匯入登入用例裡面
4.python常用資料型別在yaml中的書寫格式
做介面自動化或者UI自動化的時候,要進行資料分離,把測試資料寫在yaml檔案中,即在yaml檔案中寫測試用例。
把常用的格式列出來:
1.yaml是鍵值對的格式,python中字典也是鍵值對的形式。
yaml檔案的格式:
user: admin
psw: 123456
python3.7中的格式:
{'user': 'admin', 'psw': 123456}
2.字典巢狀字典
yaml檔案的格式:
input:
user: admin
psw: 123456
python3.7中的格式:
{'input': {'user': 'admin', 'psw': 123456}}
3.列表中巢狀字典(list)
yaml裡面寫一個數組,前面加一個'-'符號.
yaml檔案的格式:
- test1: 123456
- test2: 111111
- test3: 222222
python3.7中的格式:
[{'test1': 123456}, {'test2': 111111}, {'test3': 222222}]
4.list巢狀dict
yaml檔案格式:
- user: admin1
pwd: '123456'
- user: admin2
pwd: '123321'
- user: admin3
pwd: '123457'
python3.7中的格式
[{'user': 'admin1', 'pwd': '123456'},
{'user': 'admin2', 'pwd': '123321'},
{'user': 'admin3', 'pwd': '123457'}]
5.dict巢狀list
yaml檔案中的格式:
input1:
- admin1
- '123456'
input2:
- admin2
- '123321'
input3:
- admin3
- '123457'
python3.7中的格式:
{'input1': ['admin1', '123456'],
'input2': ['admin2', '123321'],
'input3': ['admin3', '123457']}