4.Pytest执行Yaml格式测试用例
Yaml格式
YAML是专门用来写配置文件的语言,格式要比json方便
python中有个叫PyYaml的模块是专门针对Yaml文件操作的
Yaml格式:
- 大小写敏感
- 使用缩进表示层级关系,缩进不允许使用Tab键,只允许空格
- 同级别的只要左对齐即可
- #是注释键
-
执行时最好加上Loader=yaml.FullLoader
import yaml
yamldir = './test_Yaml.yaml'
#创建文件对象
fo = open(yamldir,'r',encoding='utf-8')
res = yaml.load(fo,Loader=yaml.FullLoader)
print(res)
yaml文件格式:
#注释
#字典数据 输出的结果是{'name=': 'Tom', 'password': 12346}
#name: Tom #账号,冒号后面一定要加空格
#password: 12346 #密码
#数组(列表) 输出的结果是['hello', 100]
#- hello
#- 100
#组合关系:列表里有个字典 ,输出的结果是:[{'name': 'bobo', 'age': 20}, {'sex': '男', 'tall': 188}]
#-
# name: bobo
# age: 20
#
#-
# sex: 男
# tall: 188
#列表里有字典,字典里又有列表 输出结果:[{'name': 'bobo', 'age': [10, 20], 'school': ['gaoansc', 'nanchangsc']}]
#-
# name: bobo
# age:
# - 10
# - 20
# school:
# - gaoansc
# - nanchangsc
#注意:如果有特殊符号,值要加引号,单引号原样输出,双引号,转义输出
#引用和取值 &设定值,*取值 输出结果:{'name': 'bob', 'age': 'bob'}
name: &name bob
age: *name
# --- 是分段符号
name2: &name2 bob
age2: *name2
写好yaml文件后,在py文件中执行
import yaml
yamldir = './test_Yaml.yaml'
# #创建文件对象
# fo = open(yamldir,'r',encoding='utf-8')
# # res = yaml.load(fo,Loader=yaml.FullLoader)
# # print(res)
#
#
# #两组数据情况
# res = yaml.load_all(fo,Loader=yaml.FullLoader)
# print(res)
# for one in res:
# print(one)
#yaml写的操作w
#yaml写的操作w
fo = open(yamldir, 'w', encoding='utf-8')
data2 = {'name': 'bobo', 'age': 'bobo'}
yaml.dump(data2,fo)
#多个列表
fo = open(yamldir, 'w', encoding='utf-8')
data2 = {'name': 'bobo', 'age': 'bobo'}
data3 = {'name3': 'bobo3', 'age3': 'bobo3'}
yaml.dump_all([data2,data3],fo)
# 用完要关闭文件
fo.close()
示例:
首先是在yaml文件中写好用例数据,配置数据
然后在lib目录下写好取入参数据的方法 ,进行封装
测试用例导入取接口入参数据的方法之后,直接传入接口,如下: