在Postman脚本中发送请求(pm.sendRequest)

 

Postman的Collection(集合)/Folder(集合的子文件夹)/Request(请求)都有Pre-request script和Tests两个脚本区域,分别可以在发送请求前和请求后使用脚本(基于Javascript实现各种操作)

集合的脚本区

 

文件夹的脚本区

 

 

 
 
 
请求的脚本区

 

 
 

在遇到有依赖的接口时,比如需要登录或者需要从前一个接口的结果中获取参数时,我们往往需要在该请求前先发送一下所依赖的请求, 我们可以在Pre-request script中使用pm.sendRequest实现

 

例1:Postman使用脚本发送get请求

const url = 'http://115.28.108.130:5000/api/user/getToken/?appid=136425';
// 发送get请求 pm.sendRequest(url, function (err, res) { console.log(err ? err : res.text()); // 控制台打印请求文本 }); 

可以配合pm.environment.set(key:value)来将响应中的数据保存到环境变量中以供本次请求使用


示例: 使用请求前脚本获取token并使用,

 

例2:Postman使用脚本发送Post表单请求

//构造一个登录请求
const loginRequest = {
    url: 'http://115.28.108.130:5000/api/user/login/', method: "POST", body: { mode: 'urlencoded', // 模式为表单url编码模式 urlencoded: 'name=张三&password=123456' } }; // 发送请求 pm.sendRequest(loginRequest, function (err, res) { console.log(err ? err : res.text()); }); 

输出信息可以通过点击Postman菜单栏 ->view-> Show Postman Console, 打开控制台查看(先打开控制台,再发送请求)

 

 
 
 

例3:发送JSON格式请求(Postman脚本中发送JSON格式Post请求)

// 构造一个注册请求
const regRequest = {
  url: 'http://115.28.108.130:5000/api/user/reg/', method: 'POST', header: 'Content-Type: application/json', //注意要在Header中声明内容使用的类型 body: { mode: 'raw', // 使用raw(原始)格式 raw: JSON.stringify({ name: '小小', password: '123456' }) //要将JSON对象转为文本发送 } }; //发送请求 pm.sendRequest(regRequest, function (err, res) { console.log(err ? err : res.json()); // 响应为JSON格式可以使用res.json()获取到JSON对象 }); 
 

例4:发送XML格式请求
发送XML格式和发送JSON格式差不多, 只要指定内容格式并发送相应的内容即可

//构造请求
const demoRequest = {
  url: 'http://httpbin.org/post', method: 'POST', header: 'Content-Type: application/xml', // 请求头种指定内容格式 body: { mode: 'raw', raw: '<xml>hello</xml>' // 按文本格式发送xml } }; //发送请求 pm.sendRequest(demoRequest, function (err, res) { console.log(err ? err : res.json()); }); 

本文所演示接口- 接口文档传送门

 

个人实际开发环境中:

pm.sendRequest(pm.environment.get("token-url"), function (err, response) {
    pm.environment.set("head-token", response.json().token)
});

 

转载于:https://www.cnblogs.com/But-you/p/11219481.html

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、付费专栏及课程。

余额充值