IDEA REST Client:如何在测试JS中访问本地变量
导入脚本本地变量在JS测试中无法读取的解决方案
核心问题:你用
client.global.get("@expected")拿不到本地变量,是因为client.global(新版为pm.globals)仅用于读取全局变量,而你需要的本地请求级变量属于当前请求的上下文,得用对应API获取。规范解决步骤:
- 定义本地变量:在被导入的
mytest请求的「Variables」标签下添加expected变量,可设置默认值或留空。 - 调用时传递变量值:其他脚本调用
mytest前,临时设置当前上下文的变量值:// 调用方脚本:设置本次调用的预期值 pm.variables.set("expected", "你的预期结果"); // 执行导入的请求(示例用pm.sendRequest) pm.sendRequest("mytest的请求配置", function(err, res) { // 后续处理逻辑 }); - 测试脚本中读取变量:在
mytest的JS测试代码里,用pm.variables.get读取本地变量:// mytest的测试脚本 const expected = pm.variables.get("expected"); pm.test("结果验证", function () { pm.expect(pm.response.json().result).to.eql(expected); });
- 定义本地变量:在被导入的
方案优势:
- 无需通过URL传递变量的 hack 方式,保持请求结构整洁
pm.variables.get会按优先级查找变量(请求变量→集合变量→环境变量→全局变量),确保获取到的是本次调用传入的本地值- 符合Postman变量上下文的设计逻辑,不会干扰全局变量
内容的提问来源于stack exchange,提问作者Joachim Lous
相关产品推荐
相关产品推荐

