Newman运行集合时环境变量不生效怎么办?

UX之芳 阅读 4

我在Postman里测试没问题,导出集合和环境文件后用Newman跑,环境变量死活读不到,总是undefined。明明用了-e env.json参数啊?

命令是这样写的:

newman run my-collection.json -e my-env.json --reporters cli

环境文件里也确认有对应的key,比如{{api_url}},但在脚本里打印出来就是空的,有人遇到过吗?

我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
设计师雨帆
我之前踩过这个坑,这问题很常见。Newman对环境变量的处理跟Postman界面不太一样。你先检查my-env.json文件格式是不是标准的JSON,别有多余逗号什么的。

再看看你的环境变量在脚本里怎么引用的。在Newman里要用data.api_url而不是{{api_url}}这种语法。如果非要用双大括号语法,记得把newman run命令加上--iteration-data参数指向一个数据文件。

我建议直接改代码用data.的方式取值最稳当。比如:
pm.variables.get("api_url")

或者在测试脚本里
console.log(data.api_url)


另外记得确认my-env.json里的key名要跟集合里用的一模一样,大小写敏感的。有时候一个小写差别就能让你抓狂半天。
点赞
2026-03-30 14:01