基于python的接口测试化——yaml配置文件

文章介绍了YAML作为一种友好的数据序列化标准,其简洁的语法和在配置文件中的应用。通过Python的`pyyaml`库,展示了如何读取和写入YAML文件,包括字典、列表以及嵌套结构的处理,还提及了读取多个文档和封装YAML读取类的方法。
摘要由CSDN通过智能技术生成


一、介绍与安装

1.yaml的介绍

 Yaml是一种所有编程语言可用的友好的数据序列化标准。语法和其他高阶语言类似,并且可以简单表达字典、列表和其他基本数据类型的形态。

2.yaml格式作为文件的配置格式

 yaml格式作为文件的配置格式

yaml支持注释
不必强求逗号括号等符号
通过缩进来区分层级,视觉上清晰很多

3.yaml的安装

 pip install pyyaml

二、基本操作

 案例:
字典{"name": "test_yaml", "result", "success"}写成Yaml的形式,并输出结果

字典里的键值对用"∵"分隔
yaml格式 在:后面一定要加个空格,不然会报错;
字典直接写key和value,每一个键值对占一行。

此文件名为:yaml_demo.py

"""
#1、创建yaml格式文件
#2、读取这个文件
#3、输出这个文件
"""
#2、读取这个文件
	#1)、导入yaml包
import yaml
	#2)、打开文件
with open("./data.yaml","r") as f:
	
	
	#3)、使用yaml读取文件
	r=yaml.safe_load(f)
#3、输出这个文件的内容
	print(r)

此文件名为:data.yaml

#字典
name: "test_yaml"
result: "sucess"
#列表
#["a","b","c"]

#1.字典嵌套字典
{person1:{"name":"xiaoming","age":"18"},
	person2:{"name":"xiaohong","age":"20"}
}
person1:
 name: xiaoming
 age: 18
person2:
 name: xiaohong
 age: 20
#通过空格来表示字典,通过换行表示嵌套

#2.字典嵌套列表
{person:["a","b","c"]}
person:
 - "a"
 - "b"
 - "c"
#通过-加上空格来表示列表,通过换行表示嵌套

#3.列表嵌套列表
#[["a","b","c"],["1","2","3"]]
-
 - "a"
 - "b"
 - "c"
-
 - "1"
 - "2"
 - "3"

#4.列表嵌套字典
[{"username1":"test1"},{"passward1":"111","username2":"test2"}]
- username1: "test1"
- passward1: "111"
  username2: "test2" 
  #同一级别下需要换行


#读取多个文档
---
"用户名称1": "test123"
"密码": "132456"
---
"用户名称1": "test456"
"密码": "132456"

三、读取文件

3.1单个文档

#1、读取单个文档
	#1)、导入yaml包
import yaml
	#2)、打开文件
		#若打印出来的汉字是乱码,在open后面加encoding="utf-8"即可解决
with open("./data.yaml","r",encoding="utf-8") as f:
	#打开的文件在二、基本操作
	
	#3)、使用yaml读取文件
	r=yaml.safe_load(f)
#2、输出这个文件内容
	print(r)

3.2多个文档

#读取多个文档
#1、编辑或修改data.yml
#2、yaml读取方法,all
with open("./data.yaml","r",encoding="utf-8") as f:
	r=yaml.safe_load_all(f)
#3、循环打印
	for i in r:
		print(i)

四、配置文件设置

4.1yaml封装

import os
import yaml
#1、创建类
calss YamReader:
	
#2、初始化,文件是否存在
	def __init__(self,yamlf):
		if os.path.exists(yamlf):
			self.yamlf=yamlf
		else:
			raise FileNotFoundError("文件不存在")
			self._data=None
#3、yaml读取
	def data(self):
		if not self._data:
			with open(self.yamlf,"rb") as f:
				self._data=yaml.safe_load(f)
		return self._data

4.2配置文件conf.yml

此文件名为:conf.yml

BASE:
 test:
  url: "http://211.103.136.242:8064"

此文件名为:Conf.py

import os    
import YamlUtil import YamlReader
#1、获取项目基本目录
	#获取当前项目的绝对路径
current = os.path.abspath(__file__)
#print(current)查看测试路径(全部路径)
BASE__DIR=os.path.dirname(os.path.dirname(current))
#print(BASE_DIR)查看测试路径
	#定义config目录的路径
_cofig_path=BASE_DIR+os.sep+"config"
	#定义conf.yml文件的路径
_config_file=_config_path+os.sep+"cof.yml"
def get_config_path():
	return _config_path
def get_config_file():
	return _config_file
#2、读取配置文件
	#创建类
class ConfigYaml:

	#初始yaml读取配置文件
	def __init__(self):
		self.config=YamlReader(get_config_file)
	#定义方法获取需要信息
	def get_conf_url(self):
		return self.config["BASE"]["test"]["url"]
if __name__=="__main__":
	coonf_read=ConfigYaml()
	print(conf_read.get_conf_url())
#3、
#4、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值