• Postman设置全局变量和传参


    使用场景
    在非内部接口的测试调试过程中,需要通过登录来获取 token ,调用接口使用此 token 作为 header 一部分。

    当前演示环境及条件如下:
    1、Postman v8.0.2
    2、登录接口:企业登录接口
    3、请求接口:获取员工列表接口
    
    • 1
    • 2
    • 3
    • 4

    两种解决方案
    方法1 使用全局变量,获取一次 token 并写入全局变量,所有接口均可调用

    缺点:每次获取 token 后手动更新 全局变量值
    优势:简单联调接口,后续不使用维护时,更快捷不需要考虑写 JavaScript
    
    • 1
    • 2

    方法2 使用 Javascript 自动获取
    方法1:使用全局变量
    1、进入这两个接口存放的目录后,定义token变量名称为“ manageToken ” ,注意语法{{manageToken}}
    2、点击右上角的 “小眼睛” ,进入全局变量定义弹框中,并且点击 Edit 按钮
    3、将变量名称填入 VARIABLE 列中,其 token 值填入INITIAL VALUE 和 CURRENT VALUE
    图一
    图二
    方法2:使用脚本自动获取

    tips:
    Tests 栏可以理解为执行请求之后要做的动作
    pre-request-scripts 栏可以理解为执行请求前要做的事
    
    • 1
    • 2
    • 3

    很显然我们需要做的是:

    企业登录接口执行完成,登录接口要通过 Tests 栏的脚本 将 token 保留下来;
    获取员工列表接口在执行前,需要通过 pre-request-scripts 栏的脚本 将 token 写入自己的 header 中
    
    • 1
    • 2

    步骤1:请求企业登录接口,从 response 中找到 token (注意这个接口返回的是 json 格式的)
    图一
    步骤2:Test 栏中写脚本,将 response 获取 的 token 保留下来;脚本分两部分一个是定位获取到 token ,一个是保留 token 到变量
    图一
    代码如下:

    var data2 = pm.response.json()["data"]["id"]; // 通过方法获取字典中的id 给变量 data2
    pm.globals.set("manageId", data2);// 将变量 data2 的值设置为全局变量 
    
    • 1
    • 2

    步骤3:重新请求接口,全局变量中出现 manageToken key 和 值
    图一
    步骤4:员工列表中 header 定义token及变量 {{token}}
    图一
    步骤5: 员工列表的请求 pre-request-scripts 栏中,脚本获取全局变量的 “manageToken” 值,赋值给 步骤4 中定义的 {{token}} 即可,这样在请求接口前先将token传入到 header 中
    图一
    代码如下:

    pm.environment.set("id", pm.globals.get("manageId")); // 获取全局变量的值,将全局变量的值传递给变量id
    
    • 1
  • 相关阅读:
    计算连续性状的PRS得分
    ES 实战复杂sql查询、修改字段类型
    远程VPN登录,IPsec,VPN,win10
    安卓逆向之抽象函数public abstract的hook定位处理
    B. String Modification
    ASP.Core3.1 WebAPI 发布到IIS
    计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台
    Linux基本使用和web程序部署
    softmax回归
    U_boot介绍
  • 原文地址:https://blog.csdn.net/victor_177/article/details/125546420