【4】Postman之Tests(斷言)

簡介:使用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中使用,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章