簡介
一般來說執(zhí)行完測試,我們需要對測試結(jié)果來進行校驗觉鼻,判斷結(jié)果是否符合我們的預(yù)期惯雳,也就是斷言。在接口測試中一般會根據(jù)響應(yīng)狀態(tài)碼或者響應(yīng)返回的數(shù)據(jù)來進行斷言妥箕。
Postman提供一個測試沙箱(Postman Sandbox)番舆,測試沙箱是一個JavaScript執(zhí)行環(huán)境,可以通過JS腳本來編寫pre-request Script和test Script矾踱。
- pre-request Script(預(yù)置腳本)可以用來修改一些默認參數(shù)恨狈,在請求發(fā)送之前執(zhí)行。有點類似于unittest里面的setUp()方法呛讲。
- test Script(測試腳本)當接收到響應(yīng)之后禾怠,再執(zhí)行測試腳本。
案例
接口請求URL如下:請求方式為POST
postman-echo.com/post
斷言規(guī)則
- 響應(yīng)狀態(tài)碼:200
- 響應(yīng)內(nèi)容:返回的user 參數(shù)值與定義的一致
- 響應(yīng)時間:小于0.5s
測試腳本
在pre-request Script定義變量user
pm.variables.set("user","zxw")
在Test欄下面編寫如下腳本
//判斷響應(yīng)狀態(tài)碼
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
//獲取發(fā)送的參數(shù)值
username=pm.variables.get("user");
console.log(username)
//校驗響應(yīng)內(nèi)容是否和請求的一致
pm.test("Check username", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.json["user"]).to.eql(username);
});
//響應(yīng)時間是否小于0.5s
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
斷言結(jié)果
擴展資料:Postman測試腳本官方文檔