postman接口测试如何做断言操作?
1、点击Tests编写测试断言

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可以编写一些准备数据.

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

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

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位加密算法

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

15、服务端使用base64位解密

16、接口环境变量
