斷言有常規斷言,動態引數斷言以及全域斷言
一、常用的幾種斷言方式
我們要知道,再進行斷言前我們一定要先進行引數化
Status code:code is 200
# 檢查回傳的狀態是否為200
pm.test("Status code is 200", function () {
#標紅是可以修改的,如修改為'"狀態回傳成功"之類
pm.response.to.have.status(200);
});
成功如下圖,在回應頁面中Test Results中查看,如圖

Response body:contains string
#檢查回應中包括某個字串
pm.test("Body matches string", function () {
"Body matches string"這可以修改"檢查回應中是否有token",標紅為可以修改的
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
這里要注意比如我們要查看"token",所以我們將"string_you_want_to_search",修改為"token"
});
Response body:Json value check
檢查回應當中是否有json的值
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
這里我們要注意jsonData.不要修改,我們只修改value,和資料100,如我們要檢查回應中是否包含status和他的數值,pm.expect(jsonData.staus).to.eql(200);如下圖
});

Response body:is equal to a string
檢查回應等于某個文本格式下的字符,這適應于字符比較少的
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
這里我們要主要兩點,要在回應頁面中Raw文本格式下復制,全部都是復制,2.當大括號有雙引號時{""},我們一定要在外面加''單引號,不然就會識別不了
});

Response header:content-type header cheack
檢查是否包含回應頭content-type
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
這里不用修改其他,Content-Type回應頭在回應頁面中Headers回應頭中查看
Response time is less than 200ms
檢查回應請求耗時小于200ms
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});
Time為時間

二、斷言中獲取自定義動態引數
1.在請求頁面Pre-request Script下開始撰寫自定義引數腳本
var times =Date.now();
創建一個時間戳(時間戳在上篇有講到)賦值給times
pm.globals.set("times",times);
設定全域變數,全域變數名為times,值為times
2.在常規斷言中設定自定義動態引數,下圖中name:其實是碼上教育{{times}},通過動態引數設定為的

接著我們將常規斷言進行改變,有三種方法
1.pm.test("回應中是否有name", function () {
pm.expect(pm.response.text()).to.include("碼上教育"+pm.globals.set("{{times}}"));
});
2.pm.expect(pm.response.text()).to.include("碼上教育"+globals.set["times"'])
3.pm.expect(pm.response.text()).to.include("碼上教育"+globals.times)
三、全域斷言

第四步將復制的如狀態碼200,粘貼在其中
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/401868.html
標籤:其他
