YAML文件详解
--实现接口自动化
如果使用yaml,需要安装pyyaml的包
1.yaml简介
ymal是一种数据格式,支持注释,换行,多行字符串,裸字符串(整形,字符串)
2.yaml用途
(1)用于全局的配置文件 ( ini / yaml ):环境,数据库信息,账号信息,日志格式,报告名称。
(2)用于接口自动化里面的多一些复杂的多接口串联。
(3)用于编写接口测试用例
语法规则:
1.区分大小写
2.使用缩进表示层级,不能使用tag键缩进,只能用空格(和python一样)
3.缩进没有数据量,只要前面是对齐的就行
4.注释是#
数据组成:
1.map对象,键值对 健:(空格)值 注意:冒号后边的空格一定要有。
1)多行的写法:
msxy:
name: 张三
age: 18
2)一行的写法:
msxy: {name: 百里,age: 18}
2.数组(list),用一组横线 开头,如:
1)多行的写法:
-
msxy:
- name: 百里
- age: 18
-
msjy:
- name: xingyao
- age: 20
2)一行的写法:
-
msxy: [{name: 百里},{age: 18}]
可以使用在线解析器:http://www.bejson.com/validators/yaml_editor/
读取YAML文件的代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/4/6 16:26
# @File : yaml_util.py
import yaml
class YamlUtil:
def __init__(self,yaml_file):
self.yaml_file = yaml_file
# 读取yaml文件
def read_yaml(self):
'''
读取yaml,对yaml反序列化,就是把yaml格式转换成dict格式
:return:
'''
with open(self.yaml_file, encoding='utf-8') as f:
value = yaml.load(f, Loader=yaml.FullLoader)
print(value, type(value))
if __name__ == '__main__':
YamlUtil('test_api.yaml').read_yaml()
使用yaml格式写用例: