-
前言:
-
yaml基本语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样
#yaml中序列(list)
- admin
- admin2
- admin3
#yaml中键值对(字典)
#1、直接使用花括号
{"message": "update some data!", "code": 0}
#2、键值对
user: admin
pwd: 123456
- 操作步骤
- 1、环境安装
- pip install PyYAML== 3.12
- 2、新建yaml文件,保存数据
- 1、环境安装
# data\userinfo.yaml
-
- "M"
- "message": "update some data!", "code": 0
-
- "F"
- "message": "update some data!", "code": 0
#common\read_yaml.py
import yaml
import os
def readyml(yaml_path):
#判断yaml文件是否存在
if not os.path.isfile(yaml_path):
raise FileNotFoundError('文件路径不存在,请检查路径是否正确:%s'%yaml_path)
#读取文件
with open(yaml_path,encoding='utf8') as f:
yaml_data = f.read()
data = yaml.safe_load(yaml_data) #转换成列表、字典对象
return data
- 4、用例中使用
#case\test_param.py
import pytest
import os
from common.read_yaml import readyml
#获取文件绝对路径
cur_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
yaml_path = os.path.join(cur_path,'data','userinfo.yaml')
print(yaml_path)
test_data = readyml(yaml_path)
@pytest.mark.parametrize("test_input,expect", test_data)
def test_001(test_input,expect):
print(test_input,expect['message'])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。