YAML文件格式一(read_yaml此时返回的是一个字典):
name: 灰蓝
job: Tester
def read_yaml():
"""
读取yaml文件
:return:
"""
with open('../data/variable.yaml', encoding='UTF-8')as f:
data = yaml.load(f, Loader=yaml.FullLoader)
return data
def write_yaml(data):
# 此处注意:w为替换,始终是最开始的一个变量,a为追加yaml文件每次都增加多个变量a
# 可结合使用fixture、conftest进行清除
with open("../data/variable.yaml", mode='a', encoding='utf-8') as f:
yaml.dump(data=data, stream=f, allow_unicode=True)
#修改其中的某一个值
def test_write_yaml_which():
file_name = "../data/variable.yaml"
with open(file_name) as f:
doc = yaml.safe_load(f)
doc['age'] = 999
with open(file_name, 'w') as f:
yaml.safe_dump(doc, f, default_flow_style=False)
#清除extract.yaml文件
def clear_extract_yaml():
with open("../data/variable.yaml",mode='w',encoding='utf-8') as f:
f.truncate()
def test_a(name=read_yaml()['name'], job=read_yaml()["job"]):
print(name)
print(job)
if __name__ == '__main__':
pytest.main(['-s', '-v', './testdwapi.py'])
YAML文件格式二(read_yaml此时返回的是一个list):
- ['name',测试2]
- ['expect',ceshi200]
@pytest.mark.parametrize('a,b', read_yaml())
def test_a(a, b):
print(a)
print(b)