如何为Postman全局变量传入多个值?附报错示例
解决Postman全局变量数组值的引用错误问题
Hey there! Let's break down why you're getting that ReferenceError | test is not defined error and fix it step by step.
问题根源
你遇到这个错误主要有两个原因:
- 变量引用方式错误:你直接在脚本里写
test来调用全局变量,但Postman不会把全局变量直接暴露为顶层变量,必须用官方方法获取。 - 变量类型不匹配:你的
test变量类型是text,值是数组格式的字符串("[\"a\",\"b\"]"),Postman不会自动把这个字符串转换成真正的JavaScript数组。
方案一:将全局变量设为JSON类型(推荐)
Postman支持直接存储数组/对象,只要把变量类型改成json就行:
- 打开Postman的全局变量管理界面
- 找到
test变量,把type从text改成json - 在
value字段里直接输入["a","b"](不用加额外引号,像写JS数组那样直接写) - 保存后,在脚本里这样使用:
const testArray = pm.globals.get("test"); console.log(testArray[0]); // 会输出"a"
方案二:手动将字符串解析为数组(无法修改变量类型时用)
如果因为某些原因不能改变量类型,你可以在脚本里用JSON.parse()把字符串转成数组:
// 先获取全局变量的字符串值 const testString = pm.globals.get("test"); // 把字符串转换成真正的数组 const testArray = JSON.parse(testString); // 现在就能正常用数组的方法了 console.log(testArray[1]); // 会输出"b"
重要提醒
永远记住:Postman全局变量不能直接用变量名裸写调用,必须用pm.globals.get("变量名")来获取——不管变量是什么类型,直接写test都会抛出引用错误。
内容的提问来源于stack exchange,提问作者QA Prof
相关产品推荐
相关产品推荐

