【接口自动化测试】YAML
2026/6/25 16:56:43 网站建设 项目流程

文章目录

  • 1. YAML介绍
  • 2. YAML 使用
    • 2.1 安装 yaml 库
    • 2.2 创建 yaml 文件
    • 2.3 写入 yaml 文件
    • 2.4 读取 yaml 文件
    • 2.5 清空 yaml 文件

1. YAML介绍

官方文档:PyYAML Documentation

YAML 是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表 “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 转 yaml

2. YAML 使用

yaml 文件通常作为配置文件来使用,可以使用 yaml 库来读取和写入 YAML 文件。

2.1 安装 yaml 库

在命令行输入:

# 建议跟我统一版本,避免因版本不同造成的使用差异pipinstallPyYAML==6.0.1

结果如下所示:

2.2 创建 yaml 文件

新建文件:test.yml

2.3 写入 yaml 文件

代码如下所示:

importyaml''' 往 yaml 文件中写入数据 '''# 1. 追加写入defwrite_yaml(filename,data):# 打开文件withopen(filename,mode="a+",encoding="utf-8")asf:# 写入数据yaml.safe_dump(data,stream=f)# 测试deftest_write():# 写入yaml文件data={"name":"Edison","age":"18"}write_yaml('firstyaml.yml',data)

结果如下所示:

2.4 读取 yaml 文件

代码如下所示:

importyaml''' 从 yaml 文件中读取数据 '''# 2. 读取数据defread_yaml(filename):# 打开文件withopen(filename,mode="r",encoding="utf-8")asf:# 读取数据data=yaml.safe_load(f)returndatadeftest_write():# 读取yaml文件data=read_yaml('firstyaml.yml')print("data:",data)

结果如下所示:

可以看到,读取出来的数据是 Python 里面的字典格式。

那么可以使用 json.dumps() 方法把字典格式转换成 Json 格式。

# 2. 读取数据defread_yaml(filename):# 打开文件withopen(filename,mode="r",encoding="utf-8")asf:# 读取数据data=yaml.safe_load(f)returndata

结果如下所示:

之所以这样,是为了方便后续把接口的返回值通过 Json 转换成 Yaml 格式的数据,然后存储到 .yml 文件中去。

2.5 清空 yaml 文件

代码如下所示:

importyaml''' 清空 yaml 文件中的数据 '''# 3. 清空数据defclear_yaml(filename):# 打开文件withopen(filename,mode="w",encoding="utf-8")asf:# 清空数据f.truncate()# 测试deftest_clear():# 清空yaml文件clear_yaml('firstyaml.yml')

结果如下所示:

1

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询