postman7種斷言的使用

導航:1.postman斷言介紹2.狀態碼斷言3.響應正文斷言-包含4.響應正文斷言-json字段5.響應頭斷言6.響應時間斷言7.環境變量的斷言
- - - - - - - - - 分割線 - - - - - - - - - -1.postman斷言介紹postman在發送請求后,需要對返回的結果做判斷,驗證是否符合預期,如狀態碼、響應頭、響應正文等信息進行斷言操作,在設置時會給定一個預期結果,在發送請求后會得到一個實際如果,如果兩者結果一致,則認為是成功的(PASS),否則則是失敗的(Fail),這種操作就叫做斷言 。斷言主要是在Test操作框內進行設置,使用JavaScript語言編寫,斷言的結果在下方響應內容的TestResult內

postman7種斷言的使用

文章插圖
2.狀態碼斷言
說明: 對響應結果中的狀態碼進行驗證,用于判斷響應的狀態碼是否符合預期
(1)實例1:設置預期code=200,實際結果200(PASS)
tests["status code is 200"] = responseCode.code == 200;
postman7種斷言的使用

文章插圖
(2)實例2:設置(2)實例2:預期code=404,實際結果200 (FAIL)
tests["status code is 404"] = responseCode.code == 404;
postman7種斷言的使用

文章插圖
 3.響應正文斷言-包含
說明: 對響應結果中的響應正文進行驗證,判斷返回的響應正文是否包含指定的字符串(ps:大小寫是敏感的)
實例1:設置返回包含helloworld,結果滿足(PASS)
tests["Body matches"] =responseBody.has("helloworld");
postman7種斷言的使用

文章插圖
4.響應正文斷言-json字段
說明: 對響應結果中的響應的json結構中的字段進行檢查,看是否符合預期
(1)實例1:檢查返回結果體 data - name 的json值是否為helloworld,符合預期(PASS)
pm.test("Your test name", function () {var jsonData = https://www.huyubaike.com/biancheng/pm.response.json();pm.expect(jsonData.data.name).to.eql("helloworld");});
postman7種斷言的使用

文章插圖
(2)實例2:檢查返回結果體 code的json值是否為200,不符合預期(FAIL)
pm.test("Your test name", function () {var jsonData = https://www.huyubaike.com/biancheng/pm.response.json();pm.expect(jsonData.code).to.eql(200);}); 
postman7種斷言的使用

文章插圖
5.響應頭斷言
說明:對響應頭部中的值(header)進行判斷,是否包含對應的屬性 。
(1)實例1:檢查header中是否包含Content-Encoding,符合預期(PASS)
pm.test("Content-Encoding is present", function () {pm.response.to.have.header("Content-Encoding");});
postman7種斷言的使用

文章插圖
(2)實例2:檢查header中是否包含Content-Type , 不符合預期(FAIL)
pm.test("Content-Type is present", function () {pm.response.to.have.header("Content-Type");});
postman7種斷言的使用

文章插圖
6.響應時間斷言
說明:驗證響應結果返回的時間(responseTime)是否在指定范圍,小于對應的時間(ms)則符合預期
(1)實例1:檢測接口的響應時間小于200ms,符合預期(PASS)
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);});
postman7種斷言的使用

文章插圖
(2)實例2:檢測接口的響應時間小于10ms,不符合預期(FAIL)
pm.test("Response time is less than 10ms", function () {pm.expect(pm.response.responseTime).to.be.below(10);});
postman7種斷言的使用

文章插圖
7.環境變量的斷言
說明:使用這個斷言的前提是postman中已經設置了環境變量 , 用于校驗接口內的使用到的環境變量值的正確性
ps:環境變量在Pre-requestScript與Tests組件內都可以進行設置
(1)實例1:檢測環境變量variable_key的值是否為hello,符合預期(PASS)
pm.environment.set("variable_key", "hello");//設置環境變量及變量值在Pre-requestScriptvar data = https://www.huyubaike.com/biancheng/pm.environment.get("variable_key");//獲取環境變量tests["檢查環境變量值variable_key值是否為hello"] = data=https://www.huyubaike.com/biancheng/="hello";

推薦閱讀