Postman中如何读取全局变量验证指定JSON响应数据?
解决Postman测试脚本中全局变量调用的问题
你的写法错误在于把pm.globals.get()当作response.data的属性来调用,这不符合JavaScript语法。pm.globals.get()是Postman提供的独立方法,用于读取全局变量,不能嵌套在response.data的属性链中。
正确的实现步骤和脚本示例如下:
- 先获取API响应的JSON数据
- 判断响应中
data.id是否等于2 - 单独调用
pm.globals.get()读取全局变量 - 通过断言对比响应字段与全局变量的值
// 获取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
相关产品推荐
相关产品推荐

