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目录下写好取入参数据的方法 ,进行封装

 

测试用例导入取接口入参数据的方法之后,直接传入接口,如下:

 

 

posted @ 2020-11-17 10:27  小boboa  阅读(3133)  评论(0编辑  收藏  举报