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 格式測試用例的對比


分享到:


相關文章: