• 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
  • 相关阅读:
    运算符——“MySQL数据库”
    新一代网络请求库:python-httpx库
    数据库命名规范
    stm32之雨滴传感器使用记录
    rpc的仅有通信的功能,在网断的情况下,比网通情况下,内存增长会是什么原因
    docker内更新显卡cuda cudnn
    LeetCode每日一练 —— 21. 合并两个有序链表
    Windows服务器 开机自启动服务
    Shell echo命令学习笔记
    逢人必推的4款实用软件,国产良心,相遇不易
  • 原文地址:https://blog.csdn.net/victor_177/article/details/125546420