Postman进阶(一):编写预请求脚本(pre-request scripts)

一:在请求运行之前编写脚本

1.点击集合中的任意一个接口

2.点击Pre-request Script,即可在此下方编写脚本

3.点击send,Pre-request Script下的代码将在Postman将请求发送到API之前执行

二:如何编写脚本

Postman中提供一些选项,点击一下,则会在Pre-request Script中生成对应的脚本,可根据自己的需求来编写脚本

  1. 点击集合中的任意一个接口
  2. 点击Pre-request Script,即可在此下方编写脚本
  3. 点击右侧的Snippets下的提示

//获取环境变量
pm.environment.get("variable_key");
//获取全局变量
pm.globals.get("variable_key");

pm.variables.get("variable_key");
//获取集合变量
pm.collectionVariables.get("variable_key");
//设置具有指定名称和值的环境变量
pm.environment.set("variable_key", "variable_value");
//设置具有指定名称和值的全局变量
pm.globals.set("variable_key", "variable_value");
设置具有指定名称和值的集合变量
pm.collectionVariables.set("variable_key", "variable_value");
//清除环境变量
pm.environment.unset("variable_key");
//清除全局变量
pm.globals.unset("variable_key");
//清除集合变量
pm.collectionVariables.unset("variable_key");
//发送请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
    console.log(response.json());
});

示例:

//获取全局变量my_variable
var test = pm.globals.get("my_variable");
console.log('my_variable的值:' + test)
//设置全局变量newTest的值为获取全局变量my_variable的值
pm.globals.set("newTest", test);

三:使用请求数据编写脚本

pm.request对象提供对运行脚本的请求的数据的访问。对于预请求脚本这是即将运行的请求

可以使用pm.request对象预请求脚本在请求运行之前更改请求配置的各个部分。

pm.request对象提供以下属性和方法:

  • 为当前请求添加具有指定名称和值的标头:
pm.request.headers.add(header:Header):function

示例:

pm.request.headers.add({
    key:"client-id",
    value:"abcdef"
})

如:在Postman中的预请求脚本中,添加上述示例代码,打开控制台,在该请求接口中看到headers中新增了我们设置的key和value

  • 删除指定名称的请求头:
pm.request.headers.remove(headerName:String):function

示例:

pm.request.headers.remove("client-id");

如:上述在headers中添加了key和value,在下面我们选择删除数据,在预请求脚本中添加上述代码,在控制台中则会发现,不会出现新增的key和value

四:从脚本中发送请求

在上述中的脚本中,postman中最下方有提示语句,在预请求脚本中发送一个请求,可用于在创建的接口前先调用一个需要用到的接口,并对该接口的响应数据做处理

示例:调用接口,并将调用的响应结果中的某个参数,放在环境变量中

const postRequest = {
  url: 'https://postman-echo.com/post',
  method: 'POST',
  header: {
    'Content-Type': 'application/json',
    'X-Foo': 'bar'
  },
  body: {
    mode: 'raw',
    raw: JSON.stringify({ key: 'test' })
  }
};
pm.sendRequest(postRequest, (error, response) => {
  console.log(error ? error : response.json());
  var test = response.json();
  var newKey = test.data.key;
  pm.collectionVariables.set("newKey", newKey);
});

在postman中的预请求脚本写入此代码,点击send

点击集合中的变量,能看到执行的将newKey放入在了集合变量中

自己动手试试叭~

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Postman中使用Pre-request Script发送前置请求,可以通过以下步骤实现: 1. 打开Postman,选择需要发送前置请求请求。 2. 在请求的“Pre-request Scripts”标签页中,编写前置脚本,例如: ``` pm.sendRequest({ url: 'http://example.com/api/auth', method: 'POST', header: { 'Content-Type': 'application/json' }, body: { mode: 'raw', raw: JSON.stringify({ username: 'user', password: 'password' }) } }, function (err, res) { if (err) { console.log(err); } else { console.log(res); } }); ``` 上述代码中,使用`pm.sendRequest()`方法发送了一个POST请求,用于认证用户。在请求中设置了请求头和请求体,并在回调函数中打印了错误和响应信息。 3. 在前置脚本中发送完前置请求后,需要在回调函数中调用`pm.variables.set()`方法,将返回的数据存储到环境变量中,例如: ``` pm.sendRequest({ // ... }, function (err, res) { if (err) { console.log(err); } else { console.log(res); pm.variables.set('authToken', res.json().token); } }); ``` 上述代码中,使用`pm.variables.set()`方法将返回的令牌存储到名为`authToken`的环境变量中。 4. 在请求中使用环境变量,例如: ``` GET http://example.com/api/data Authorization: Bearer {{authToken}} ``` 上述代码中,使用`{{authToken}}`语法在请求头中引用了存储在环境变量中的令牌。 注意:在使用前置脚本发送前置请求时,需要确保前置请求的响应能够在后续请求中使用到。可以通过将前置请求的响应存储到环境变量中,或者直接在后续请求中引用前置请求的响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值