簡介:使用postman完成請求後,驗證返回結果,會用到tests斷言。官方提供了很多可以直接使用的方法~
接下來主要介紹這些方法是如何使用。
1. 變量相關:
- Get an environment variable 獲取一個環境變量
- Get a gloval variable 獲取一個全局變量
- Get a variable 獲取一個變量
- Set an environment variable 設置一個環境
- Set a global variable 設置一個全局變量
- Clear an environment variable 清空一個環境變量
- Clear a global variable 清空一個全局變量
使用:
- 獲取變量:如果在下一個請求中用到上一個請求的返回值,可以使用“設置一個全局變量”將請求的返回值設置爲全局變量後,在下一個請求中,使用“獲取一個全局變量”取到該值。
- 清空變量:這裏的清空等譯刪除變量,一個參數使用完成後,需要刪除,或者清空值都可以使用該方法。
2.狀態碼
Status code: Code is 200
判斷狀態碼是否正確;默認判斷狀態是否爲 200, 可修改;Status code:Successful POST request
判斷狀態碼是否爲預期結果之一;比如默認斷言狀態碼是否是 201, 202 中的一個;Status code:Code name has string
判斷狀態碼描述是否包含字符串,比如是否包含 Created;
3. 響應結果斷言:
Response body: Contains string
響應結果是否包含字符串;Response body: JSON value check
響應結果如果是 JSON,檢查具體的 JSON 值;Response body: Is equal to a string
響應結果與字符串是否全部匹配預期的字符串;Response body: Convert XML body to a JSON Object
將 XML 轉換成 JSON;
4. Header :
Response headers:Content-Type header check
響應頭部中是否包含字段;
5. 響應速度:
Response time is less than 200ms
響應時間是否少於多少 ms。
例如:
請求的響應爲json格式:
{
"code": 200,
"message": "添加成功",
"id": "d794bed4-73ae-4756-bf11-3e7ebbdd43db",
}
tests中驗證:
- //將結果轉換爲json字符串
var jsonData = pm.response.json();
- //驗證code爲200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
- //驗證message爲:添加成功
pm.test("添加成功", function () {
pm.expect(jsonData.message).to.eql("添加成功");
});
備註:在驗證json中的內容時,我這個是簡單的object類型的,如果涉及到數組,要逐級驗證,定位到具體的值。例如:
jsonData.biz_data[0]._id.value (數組使用[],object可以直接使用點)
- //id是我之後要用到的值,所以將其設置爲全局變量
pm.globals.set("id", jsonData.id);
在線求助:
jsonpath是否支持在postman中使用,