You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman中如何读取全局变量验证指定JSON响应数据?

解决Postman测试脚本中全局变量调用的问题

你的写法错误在于把pm.globals.get()当作response.data的属性来调用,这不符合JavaScript语法。pm.globals.get()是Postman提供的独立方法,用于读取全局变量,不能嵌套在response.data的属性链中。

正确的实现步骤和脚本示例如下:

  1. 先获取API响应的JSON数据
  2. 判断响应中data.id是否等于2
  3. 单独调用pm.globals.get()读取全局变量
  4. 通过断言对比响应字段与全局变量的值
// 获取API返回的JSON响应数据
const responseData = pm.response.json();

// 当data.id为2时执行验证逻辑
if (responseData.data.id === 2) {
    // 读取Postman全局变量中的email和avatar
    const targetEmail = pm.globals.get('email');
    const targetAvatar = pm.globals.get('avatar');
    
    // 验证响应中的email与全局变量一致
    pm.test("响应email与全局变量匹配", function () {
        pm.expect(responseData.data.email).to.eql(targetEmail);
    });
    
    // 验证响应中的avatar与全局变量一致
    pm.test("响应avatar与全局变量匹配", function () {
        pm.expect(responseData.data.avatar).to.eql(targetAvatar);
    });
}

关键注意点:

  • pm.globals.get('变量名')必须独立调用,不能和response.data链式拼接
  • 确保全局变量email和avatar已在Postman中正确设置(可通过顶部「眼睛图标」打开全局变量面板确认)
  • 使用pm.expect()是Postman测试脚本的标准断言方式,会在测试结果中清晰展示验证状态

内容的提问来源于stack exchange,提问作者Driod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:20:39