A05_再写一个 YAML 格式的测试用例
YAML到底是什么?
YAML 是 “YAML Ain't a Markup Language”(YAML 不是一种标记语言)—— 设计时的本意
YAML 是 “Yet Another Markup Language” (仍是另外一种标记语言) —— 出来后的实际
YAML 比较适合用来表达层次结构式(hierarchical model)的数据结构。生成的文件后缀为 .yml。在 HttpRunner 中,使用 YAML 编写测试用例比用 JSON 要更加简便和快捷。
YAML 的语法规范:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
编写用例时,主要用到以下两种 YAML 数据类型:
- 对象:键值对的集合,等价于 python 中的 dict。如:“ name: 张三 ”
- 数组:一组按次序排列的值,等价于 python 中的列表(list)。
对象举例:
# 对象写法1
name: 张三
# 对象写法2
student:
name: 张三
age: 20
# 对象写法3
student: {name: 张三, age: 20}
数组举例:
# 数组写法1
student: [张三, 李四, 王五]
# 数组写法2
student:
- 张三
- 李四
- 王五
下面我们将上一节的 JSON 格式的测试用例改写为 YAML 格式:
- 去掉所有表示对象的大括号,以相同的空格数量控制缩进
- 将列表中的列表项,分别设置为以短横线开头
- config:
name: 测试用例:测试百度
- test:
name: 测试步骤-1:打开百度首页
request:
url: https://www.baidu.com
method: GET
validate:
- eq: [status_code, 200]
执行该测试用例,成功。结果没有任何区别。
最后我们再对比着看一下 JSON 和 YAML 两种格式的区别:
- JSON 可以用TAB进行缩进,需要使用括号符号,格式显得复杂
- YAML 必须用空格进行缩进,可以不使用括号符号,格式更加清晰