postman使用教程12-预处理(pre-request) 发送请求

前言

可以使用 pm.sendRequest 方法从“pre-request”或“Tests”脚本异步发送请求。
如果您要执行计算或同时发送多个请求,而不必等待每个请求完成,则可以在后台执行逻辑。

pre-request 发送请求

点 Send a request 快速生成一个请求示例

  • pm.sendRequest 是发送一个请求

  • function中的err表示请求返回的错误信息,

  • response表示响应内容

  • console.log()是控制台输出日志

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

发送一个post请求示例

// Example with a full-fledged request
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: 'this is json' })
}
};
pm.sendRequest(postRequest, (error, response) => {
console.log(error ? error : response.json());
});

参数说明:

  • const是js中用来定义变量的关键字,由const定义的变量不可以修改,而且必须初始化

  • url表示要发送的请求url地址;

  • method指定请求方法 GET/POST;

  • header定制请求头信息,传json格式的数据的话,需定义请求头为Content-Type:application/json

  • body 表示post请求body参数

  • JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个JSON字符串

更多示例

以下是官方文档给的示例https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/

// Example with a plain string URL
pm.sendRequest('https://postman-echo.com/get', (error, response) => {
if (error) {
console.log(error);
} else {
console.log(response);
}
});

// Example with a full-fledged request
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: 'this is json' })
}
};
pm.sendRequest(postRequest, (error, response) => {
console.log(error ? error : response.json());
});

// Example containing a test
pm.sendRequest('https://postman-echo.com/get', (error, response) => {
if (error) {
console.log(error);
}

pm.test('response should be okay to process', () => {
pm.expect(error).to.equal(null);
pm.expect(response).to.have.property('code', 200);
pm.expect(response).to.have.property('status', 'OK');
});
});

请求定义和响应结构参考文档

Request 请求参数参考文档[http://www.postmanlabs.com/postman-collection/Request.html#~definition]

Response 返回参考文档http://www.postmanlabs.com/postman-collection/Response.html

2021年第七期《python接口自动化+测试开发》课程,4月18号开学(火热报名中!)

本期上课时间:4月18号-7月11号,每周六、周日晚上20:30-22:30

(0)

相关推荐

  • 一文全面解析 Postman 工具

    postman是一款支持http协议的接口调试与测试工具,其主要特点就是功能强大,使用简单且易用性好 . 无论是开发人员进行接口调试,还是测试人员做接口测试,postman都是我们的首选工具之一 . ...

  • 【竺】Postman实操2

    Postman进阶实践:获取天气预报实例 更新注意 : 1.这个网站的接口增加注册给出了appid和app密码访问时要注意看接口文档 免费版接口: https://tianqiapi.com/free ...

  • postman使用教程11- sign 签名预处理(pre-request)

    前言 sign 签名是接口请求的一种常见的场景,postman 可以在pre-request对请求的body参数动态签名 sign签名 签名参数sign生成的方法(这里只是一个示例,并不是所有的sig ...

  • postman使用教程10-请求前参数预处理(pre-request)

    前言 接口测试的时候,有些参数并不是固定的,需动态处理下,比如前面讲的注册时候在字符串后面加时间戳,可以通过动态变量来生成. 有些复杂的参数处理,如果系统没提过对于的动态变量,我们可以自己写个请求前参 ...

  • 多重曝光教程 12种人像和风光重曝叠加分析

    642014-01-10 06:13:00   蜂鸟网   作者:庞易alex [专稿] 全文导航 第1页:单一人物复制成多人的重曝 第2页:同一人物固定机位的重曝 第3页:人像与景物特写的重曝 第4 ...

  • [大师兄抓板]短线系统深度教程12:如何卖在分时高点,如何买在分时低点(图解)

    今天我们主要讲一下盘口的知识,很多散户都觉得盘口很神秘,甚至很多人都认为:个股的涨跌,盘口的变化都是有人在背后操控. 其实盘口--就是你看到的竞价,分时量价变化关系,委托单,涨停板排单等等客观的东西. ...

  • postman使用教程1-安装与使用

    前言 postman用于测试http协议接口,无论是开发, 还是测试人员, 都有必要学习使用postman来测试接口, 用起来非常方便. 环境安装 postman 可以直接在chrome 上安装插件, ...

  • postman使用教程3-全局变量和环境变量

    前言 当接口请求中有多个地方用到同一个值时,可以设置变量,在脚本中引用变量. postman 可以设置全局变量和环境变量,这样只需要改一个地方,其它脚本引用变量都会生效. 使用变量 在多个地方使用相同 ...

  • postman使用教程2-发 post 请求(json和urlencoded)

    前言 使用 postman 发送 http 协议 post 请求,两种请求参数类型application/json 和 application/x-www-from-urlencoded. appli ...

  • postman使用教程5-Test脚本中自定义变量(参数关联)

    前言 上个接口返回token,下个接口需在请求头部传token,这就是我们经常说的参数关联. postman 如何实现参数关联呢?可以在Tests 脚本中自定义变量. 查询个人信息接口 需用户先登录, ...

  • postman使用教程4-集合变量(collection variables)的使用

    前言 postman定义环境变量和全局变量用的比较多,当使用多个集合(collection) 的时候,每个集合也可以分别定义不同的集合变量. 一个集合可以看成一个小的项目,不同集合定义不同变量是很有必 ...