前言
HttpRunner中,測試用例支持兩種文件格式:YAML 和 JSON。兩種格式的用例是完全等價的,對於相同的信息內容,使用 YAML /JSON 得到的測試結果和報告也是一致的。
本人環境:HttpRunner V1.5.8
YAML格式的用例
以某快遞接口為例,這里以 YAML 格式進行說明(test_kuaidi.yml):
- config:
name: kuaidi100 api test
request:
base_url: http://www.kuaidi100.com
- test:
name: query test
request:
url: /query
method: GET
params:
type: zhongtong
postid: xxx
validate:
- eq: [status_code, 200]
- eq: [content.com, "zhongtong"]
- eq: [content.nu, "xxx"]
- eq: [content.message, "ok"]
說明:
config模塊,指該測試用例集的全局配置
name:該測試用例集的名稱,必填項
request:請求全局變量,非必填,可配置公共的參數,如 base_url、headers等test模塊,指單個測試用例,可在一個YAML腳本中配置多個test
name:這個 test 的名稱,必填項
request:這個 test 的請求體,必填項,包括 url、method 等參數,與 requests 庫的請求參數一致,如果 config 模塊定義有base_url,那么這里將用 base_url 拼接 url 后的路徑
validate:用於斷言,驗證請求結果與預期是否一致,非必填,eq 表示 equals 的簡寫,content 表示響應數據,如 content.nu 表示返回的訂單號注:以上只使用了部分參數,更多的參數介紹,大家可以前往 HttpRunner中文使用文檔 進行學習
JSON格式的用例
有人可能更傾向於使用JSON格式,那么上面的 test_kuaidi.yml ,其對應的JSON格式用例如下(test_kuaidi.json):
[{
"config": {
"name": "kuaidi100 api test",
"request": {
"base_url": "http://www.kuaidi100.com"
}
}
},
{
"test": {
"name": "query test",
"request": {
"url": "/query",
"method": "GET",
"params": {
"type": "zhongtong",
"postid": "xxx"
}
},
"validate": [{
"eq": ["status_code", 200]
},
{
"eq": ["content.com", "zhongtong"]
},
{
"eq": ["content.nu", "xxx"]
},
{
"eq": ["content.message", "ok"]
}
]
}
}
]
運行用例
用例編寫之后,打開 cmd 窗口,進入到 YAML /JSON 文件所在目錄,通過 hrun 命令運行用例。
執行 YAML 格式的用例:hrun test_kuaidi.yml
執行 JSON 格式的用例:hrun test_kuaidi.json

也可以將多個用例放在同一個文件夾下,使用以下命令來運行多個用例:hrun 文件夾名稱
查看測試報告
用例運行結束,會在當前目錄下自動生成 一個 reports 文件夾,測試報告則在 reports 文件夾里面,在瀏覽器中打開測試報告。

點擊圖中的 log ,即可查看詳細的日志,包括請求、響應以及斷言等信息。
