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

2024-03-08 1318阅读

温馨提示:这篇文章已超过418天没有更新,请注意相关的内容是否还可用!

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

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

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

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

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

二:如何编写脚本

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

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

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

//获取环境变量
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

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

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

      示例:

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

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

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

      四:从脚本中发送请求

      在上述中的脚本中,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

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

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

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

      自己动手试试叭~

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]