HttpRunner基础

YAML到底是什么?

YAML 是 “YAML Ain't a Markup Language”(YAML 不是一种标记语言)—— 设计时的本意

YAML 是 “Yet Another Markup Language” (仍是另外一种标记语言) —— 出来后的实际

接口测试:A01_HttpRunner基础_05_YAML格式测试用例

YAML 比较适合用来表达层次结构式(hierarchical model)的数据结构。生成的文件后缀为 .yml。在 HttpRunner 中,使用 YAML 编写测试用例比用 JSON 要更加简便和快捷。


YAML 的语法规范:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释


编写测试用例时,主要用到以下两种 YAML 数据类型:

  • 对象:键值对的集合,等价于 python 中的 dict。如:“ name: 张三 ”
  • 数组:一组按次序排列的值,等价于 python 中的列表(list)。


对象举例

对象写法-1:

<code>name: 张三/<code>

对象写法-2:

<code> student: 
name: 张三
age: 20/<code>

对象写法-3:

<code>student:  { name: 张三,  age: 20 }/<code>


数组举例

数组写法-1

<code>student: [ 张三, 李四, 王五 ]/<code>

数组写法-2

<code>student: 
- 张三
- 李四
- 王五/<code>


下面我们将上一节的

JSON 格式的测试用例改写为 YAML 格式:

  • 去掉所有表示对象的大括号,以相同的空格数量控制缩进
  • 将列表中的列表项,分别设置为以短横线开头
<code>- config:
name: 测试用例:测试百度

- test:
name: 测试步骤-1:打开百度首页
request:
url: https://www.baidu.com
method: GET
validate:
- eq: [status_code, 200] /<code>


执行该 YAML 格式测试用例,成功。结果与执行 JSON 格式测试用例没有任何区别。

接口测试:A01_HttpRunner基础_05_YAML格式测试用例

执行 YAML 格式测试用例,成功


最后我们再对比着看一下 JSON 和 YAML 两种格式的区别:

  • JSON 可以用TAB进行缩进,需要使用括号符号,格式显得复杂
  • YAML 必须用空格进行缩进,可以不使用括号符号,格式更加清晰
接口测试:A01_HttpRunner基础_05_YAML格式测试用例

JSON 格式和 YAML 格式测试用例的对比


分享到:


相關文章: