前言
postman進行接口測試時,需要添加斷言,校驗接口返回是否符合斷言預期。可在Tests模塊添加斷言腳本,常用的腳本模板可直接在右側點擊添加。
斷言實例
調用某接口后返回如下:
接口測試時,可對以上接口返回進行接口請求狀態碼、“code”:1、“msg”:"success"進行校驗,判定接口返回符合預期。
該接口斷言腳本如下:
備注:運行接口,查看斷言結果時,在Runner中運行才會進行斷言校驗,直接send運行不會進行斷言校驗。
常用斷言
1,校驗接口請求狀態碼
模板名:Status code:Code is 200
模板腳本:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
2,校驗接口返回中包含xx字符串
模板名:Response body:Contains string
模板腳本:
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
3,校驗接口返回json中的字段值
模板名:Response body:JSON value check
模板腳本:
pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); });
備注:校驗時需修改字段名&字段值,例接口返回如下:
1,校驗簡單字段值
以校驗上圖code=1為例,如下:
pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.code).to.eql(1); });
2,校驗多層嵌套字段值:
以校驗上圖list[0]中的word為例,如下:
pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.data.list[0].word).to.eql("兒童節億元補貼"); });
4,校驗接口返回字段值=xx字符串
模板名稱:Response body:is equal to a string
模板腳本:
pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); });
5,校驗接口響應時間<xxms
模板名稱:Response time is less than 200ms
模板腳本:
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});