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:
<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 格式測試用例沒有任何區別。
最後我們再對比著看一下 JSON 和 YAML 兩種格式的區別:
- JSON 可以用TAB進行縮進,需要使用括號符號,格式顯得複雜
- YAML 必須用空格進行縮進,可以不使用括號符號,格式更加清晰
閱讀更多 捉蟲客 的文章