postman接口测试如何做断言操作?

2025-10-21 03:34:59

1、点击Tests编写测试断言

postman接口测试如何做断言操作?

2、断言响应时间

pm.test("Response time is less than 200ms", function () {

 

   pm.expect(pm.response.responseTime).to.be.below(200);

 

});

 

// 断言响应事件小于200ms

3、断言状态码

pm.test("Successful POST request", function () {

 

   pm.expect(pm.response.code).to.be.oneOf([200,202]);

 

});

 

// 断言状态码200-202区间

4、断言响应中包含某个字符串

pm.test("Body matches string", function () {

 

   pm.expect(pm.response.text()).to.include("ok");

 

});

 

// 断言响应中包含"ok"

5、断言响应中的字段等于某个值

pm.test("message test", function () {

 

   var jsonData = pm.response.json();

 

   pm.expect(jsonData["message"]).to.eql("ok");

 

});

 

// 断言响应中"message" = ok"

6、断言响应中的字段不等于某个值

var jsonData = JSON.parse(responseBody);

 

tests["message不为bad"] = jsonData["message"] != "bad";

 

// 断言响应中"message" != bad"

7、断言响应中的列表长度

pm.test("data list test", function () {

 

   var jsonData = pm.response.json();

 

   pm.expect(jsonData["data"].length).to.eql(41);

 

});

 

// 断言响应中"list"的字段长度

8、断言响应中的列表中第几个元素的字段值

pm.test("data list 0 test", function () {

 

   var jsonData = pm.response.json();

 

   pm.expect(jsonData["data"][0]["time"]).to.eql("2018-11-28 17:27:41");

 

});

 

// 断言响应中"list 0的"的time字段的值

9、json schema验证

tv4是postman内置的JSON Schema验证库,参考:https://geraintluff.github.io/tv4/

responseBody如下==:==

{

 

   "errCode": 0,

 

   "errMsg": "",

 

   "data": {

 

       "id": 3210,

 

       "title": "",

 

const customerSchema = {

 

 "type": "object",        

 

 "properties": {

 

   "errCode": {

 

       "type": "integer",

 

       "minimum": 0,

 

       "maximum": 3,

 

       "minLength": 2,

 

       "maxLength": 3

 

   },

 

   "errMsg": {"type": "string"},

 

 }

 

};

 

var customer = JSON.parse(responseBody);

 

// console.log(customer);

 

tests["Valid Data1"] = tv4.validate(customer, customerSchema);

 

//验证json中的errCode类型是integer,并且验证最小值和最大值区间、验证长度区间

10、测试前准备

发送请求之前往往需要准备数据,比如设置header中参数或者计算签名.

使用Pre-request Script可以编写一些准备数据.

postman接口测试如何做断言操作?

11、在header头中引入刚刚设置{{timestamps}}环境变量.

postman接口测试如何做断言操作?

12、可以看到header中已经填写了时间戳参数.

postman接口测试如何做断言操作?

13、请求前编写加密算法

var username = "test";

 

var pwd = "123321";

 

var base64Str = CryptoJS.enc.Utf8.parse(username+pwd);

 

var token = CryptoJS.enc.Base64.stringify(base64Str);

 

postman.setGlobalVariable("token",token);

 

console.log(token);

 

// 使用账号+密码的base64位加密算法

postman接口测试如何做断言操作?

14、header头中携带生成加密的token变量

postman接口测试如何做断言操作?

15、服务端使用base64位解密

postman接口测试如何做断言操作?

16、接口环境变量

postman接口测试如何做断言操作?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢