postman进阶
json值校验
发送请求,返回格式为json
postman中有很多断言设置
找到自己想要的断言,比如我用了判断状态码是否为200的和json校验。
官方文档给出的最新方法是:
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
一开始没有看懂如何校验,后来摸索了下,value换成json前面的key,eql括号里则是后面的值
json格式校验分别用了新版的方法和老板的方法
新版方法:
pm.test("Check respose result value new", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.result).to.eql("0");
});
老版方法:
var jsonData = JSON.parse(responseBody);
tests["Check respose result value old"] = jsonData.result === "0";
点击postman中的send发送请求,然后查看测试结果:
校验JSON的文档格式
Use Tiny Validator for JSON data
官方文档:
var schema = {
"items": {
"type": "boolean"
}
};
var data1 = [true, false];
var data2 = [true, 123];
pm.test('Schema is valid', function() {
pm.expect(tv4.validate(data1, schema)).to.be.true;
pm.expect(tv4.validate(data2, schema)).to.be.true;
});
自己写一个:
var schema = {
"result": {
"type": "string",
"description":"return result"
}
};
var data=JSON.parse(responseBody);//获取json格式的数据
pm.test('Schema is valid', function() {
pm.expect(tv4.validate(data, schema)).to.be.true;//格式校验方法
});
测试结果: