postman脚本的应用

postman支持JS脚本,他允许用户向请求和集合添加动态行为。通过使用js脚本,可以构建包含动态参数的请求,在参数之间传递数据。用户可以在下面的两个事件流中添加js脚本代码。

①在请求发送到服务器之前,添加行为“pre-request-script”选项卡下的请求脚本。

②在收到响应之后,添加行为“tests”选项卡下的测试脚本。如下图所示

用户可以将预请求和测试脚本添加到一个集合、文件夹、一个请求中。

1、为集合添加脚本

2、为文件夹添加脚本

3、为请求添加脚本(同上)

在postman中单个请求的脚本执行顺序如下

①与请求相关联的预请求脚本将在请求发送之前执行

②与请求关联的测试脚本将在接受响应之后执行

对于集合中的每个请求,脚本将按照下图所示顺序执行

①与集合相关的预请求脚本将在集合中的每个请求之前运行

②与文件夹相关的预请求脚本将在文件夹中的每个请求之前运行

③与集合相关的测试脚本将在集合中的每个请求之后运行

④与文件夹相关的测试脚本将在该文件夹中的每个请求之后运行

对于集合中每个请求,脚本总是按照下面的额层次结构运行:集合级脚本、文件夹级脚本、请求级脚本。注意,此执行顺序适用于预请求和测试脚本。为了验证其正确性,可以创建这样一个集合,其中包含一个文件夹和两个请求,如下图所示。

运行集合后,可以查看postman控制台输出日志顺序:

5、测试脚本

postman工具借助测试脚本帮助用户自动判断接口是否正确,相当于jmeter的断言。

①检查响应体中是否包含一个字符串

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});

②将XML格式的响应转换成JSON对象

var jsonObject = xml2Json(responseBody);
console.log(jsonObject);

③检查响应体等于一个字符串

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

④检查响应体的json值

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});

⑤检查响应体中包含某个header

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

⑥检查响应时间小于200ms

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

⑦要求http-status为200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

⑧要求响应code包含某个字符串

pm.test("Status code name has string", function () {
    pm.response.to.have.status("Created");
});

⑨要求status code符合某种条件

pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201,202]);
});

⑩使用轻量级验证器

var schema = {
  "properties": {
    "count": {type:"number"}
  }
};

var data1 = JSON.parse(responseBody);

pm.test('Schema is valid', function() {
  pm.expect(tv4.validate(data1, schema)).to.be.true;
});

发送一个请求

pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    if(err){
        console.log(err);
    }else{
        console.log(response.json());
    }
});

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大猩猩爱分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值