【接口自动化测试】YAML 文章目录1. YAML介绍2. YAML 使用2.1 安装 yaml 库2.2 创建 yaml 文件2.3 写入 yaml 文件2.4 读取 yaml 文件2.5 清空 yaml 文件1. YAML介绍官方文档PyYAML DocumentationYAML 是一种数据序列化语言用于以人类可读的形式存储信息。它最初代表 “Yet Another Markup Language”但后来更改为 “YAML Ain’t Markup Language”YAML不是一种标记语言以区别于真正的标记语言。它类似于XML和JSON文件但使用更简洁的语法。特点它是一种非常简单的基于文本的人类可读的语言用于在人和计算机之间交换数据。它不是一种编程语言它主要用于存储配置信息。它的缩进就像 Python 的缩进一样优雅。它还减少了 JSON 和 XML 文件中的大部分“噪音”格式例如引号、方括号和大括号。注意YAML 是区分大小写。YAML 不允许使用制表符 Tab 键你之所按下 Tab YAML 仍能使用是因为编辑器被配置为按下 Tab 键会导致插入适当数量的空格。YAML 是遵循严格缩进的。YAML文件的后缀名是.yaml或.yml本着能少写不多写的原则我们常用的是.yml。yaml 中支持不同数据类型但在写法上稍有区别我们也有很多工具可供使用如 json 转 yaml2. YAML 使用yaml 文件通常作为配置文件来使用可以使用 yaml 库来读取和写入 YAML 文件。2.1 安装 yaml 库在命令行输入# 建议跟我统一版本避免因版本不同造成的使用差异pipinstallPyYAML6.0.1结果如下所示2.2 创建 yaml 文件新建文件test.yml2.3 写入 yaml 文件代码如下所示importyaml 往 yaml 文件中写入数据 # 1. 追加写入defwrite_yaml(filename,data):# 打开文件withopen(filename,modea,encodingutf-8)asf:# 写入数据yaml.safe_dump(data,streamf)# 测试deftest_write():# 写入yaml文件data{name:Edison,age:18}write_yaml(firstyaml.yml,data)结果如下所示2.4 读取 yaml 文件代码如下所示importyaml 从 yaml 文件中读取数据 # 2. 读取数据defread_yaml(filename):# 打开文件withopen(filename,moder,encodingutf-8)asf:# 读取数据datayaml.safe_load(f)returndatadeftest_write():# 读取yaml文件dataread_yaml(firstyaml.yml)print(data:,data)结果如下所示可以看到读取出来的数据是 Python 里面的字典格式。那么可以使用 json.dumps() 方法把字典格式转换成 Json 格式。# 2. 读取数据defread_yaml(filename):# 打开文件withopen(filename,moder,encodingutf-8)asf:# 读取数据datayaml.safe_load(f)returndata结果如下所示之所以这样是为了方便后续把接口的返回值通过 Json 转换成 Yaml 格式的数据然后存储到 .yml 文件中去。2.5 清空 yaml 文件代码如下所示importyaml 清空 yaml 文件中的数据 # 3. 清空数据defclear_yaml(filename):# 打开文件withopen(filename,modew,encodingutf-8)asf:# 清空数据f.truncate()# 测试deftest_clear():# 清空yaml文件clear_yaml(firstyaml.yml)结果如下所示1