postman测试脚本
1、说明
①postman工具通过测试脚本进行断言(检查)可以自动判断接口是否正确,tests里添加接口预期结果,实现接口响应的自动校验。
②在编辑器右侧,列出了常用的测试脚本,可通过其快速添加测试脚本,构建测试用例;每个请求根据不同的测试点,可以添加多个测试脚本
③test Results里,根据添加的每个测试脚本,列出了详细的测试结果
2、测试脚本说明
1、Response body:Contains string。检查响应中,是否包含一个字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
例:检查响应中是否包含“登录成功“
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("登录成功");
});
2、Response body:Convert XML body to json Object。如果响应体是XML格式,将其转化为json格式,再进行操作
var jsonObject = xml2Json(responseBody);
例:tests中添加如下测试脚本,控制台打印出的响应体即为json格式
console.log(xml2Json(responseBody));
3、Response body:Is equal to a string,检查响应体是否等于一个字符串
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
4、Response body:json value check。检查响应体的json值
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100); //检查的也可以是jsonData的其他键:count、start、value等
});
例:检查jsonData中的value值为1
pm.expect(jsonData.value).to.eql(1);
5、Response header:Content-Type header check。检查响应中包含某个header
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type"); //检查响应头中包含Content-Type
});
响应头中包含的其他信息有:Connection、Content-Encoding、Content-Type、Date等
6、Response time is less than 200ms。检查响应时间,要求小于200ms
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200); //检查接口响应时间小于200ms
});
7、Status code:code is 200。要求该接口响应code为200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200); //检查接口响应code为200
});
8、Status code:code name has string。要求响应code名称中包含某个字符串
pm.test("Status code name has string", function () {
pm.response.to.have.status("OK"); //检查请求返回的status中包含OK
});
9、status code:Successful POST request。要求status code符合某种条件
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([200,201,202]); //检查响应code是200,201、202中的其中一个
});
10、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;
});
===============================================================
JavaScript的七种数据类型:
string:字符串
number:数值
boolean:布尔值
object:对象(function、array、data)
undefined:未定义
null:空值
symbol:原始数据类型,表示独一无二的值
===============================================================
上一篇: Apollo源码分析学习笔记
下一篇: Apollo配置中心搭建