python处理yaml文件的简单使用
什么是yaml
yaml和json一样是一种数据呈现格式
yaml文件的特点
- 对用户极为友好
-
跨语言,支持所有编程语言,如python、java、php、js等等
-
跨平台,如windows、linux、Mac
-
格式简单,比json更加简洁
-
应用极为广泛
python中处理yaml的模块
- pyyaml
- ruamel.yaml
本文重点讲解使用pyyaml处理yaml文件
基本操作
创建一个yaml文件
创建一个为learn.yaml的文件,后缀名为yaml或者yam,表示的就为yaml文件
learn.yaml文件
# 接口测试用例
login:
id: 1
title: "正常登陆"
url: http://www.baidu.com/user/login
method: "POST"
json:
username: "zhou"
password: "123456"
expected:
status_code: 200
content: "user_id"
learn1.yaml文件
# 接口测试用例1
# 将公共url抽取出来
common:
url: http://www.baidu.com/user/login
method: "POST"
# 加上-让其变为列表
login:
- id: 1
title: "账号为空登录"
json:
username: ""
password: "123456"
expected:
status_code: 400
message: "用户名不能为空"
- id: 2
title: "密码为空登录"
json:
username: "zhou"
password: ""
expected:
status_code: 400
message: "密码不能为空"
python中安装yaml
pip install pyyaml
python读取yaml文件
import yaml
# 读取login.yaml文件
with open(r"login.yaml", encoding='utf-8') as file:
data = yaml.full_load(file)
print(data)
# 返回数据类型为字典嵌套字典的格式(如下)
{'login': {'id': 1, 'title': '正常登陆', 'url': 'http://www.baidu.com/user/login', 'method': 'POST', 'json': {'username': 'zhou', 'password': '123456'}, 'expected': {'status_code': 200, 'content': 'user_id'}}}
# 读取login1.yaml文件
with open(r"login1.yaml", encoding='utf-8') as file:
data = yaml.full_load(file)
print(data)
# 返回数据类型为字典嵌套列表的格式(如下)
{'common': {'url': 'http://www.baidu.com/user/login', 'method': 'POST'}, 'login': [{'id': 1, 'title': '账号为空登录', 'json': {'username': '', 'password': '123456'}, 'expected': {'status_code': 400, 'message': '用户名不能为空'}}, {'id': 2, 'title': '密码为空登录', 'json': {'username': 'zhou', 'password': ''}, 'expected': {'status_code': 400, 'message': '密码不能为空'}}]}