欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

postman测试脚本

程序员文章站 2022-07-12 11:47:04
...

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([200201,202]);  //检查响应code是200201202中的其中一个
});

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:原始数据类型,表示独一无二的值

===============================================================

相关标签: 三、postman