Postman进阶(一):编写预请求脚本(pre-request scripts)
温馨提示:这篇文章已超过418天没有更新,请注意相关的内容是否还可用!
一:在请求运行之前编写脚本
1.点击集合中的任意一个接口
2.点击Pre-request Script,即可在此下方编写脚本
3.点击send,Pre-request Script下的代码将在Postman将请求发送到API之前执行
二:如何编写脚本
Postman中提供一些选项,点击一下,则会在Pre-request Script中生成对应的脚本,可根据自己的需求来编写脚本
- 点击集合中的任意一个接口
- 点击Pre-request Script,即可在此下方编写脚本
- 点击右侧的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放入在了集合变量中
自己动手试试叭~
- 删除指定名称的请求头:
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!






