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

Postman预请求脚本设置环境变量报TypeError如何解决

报错核心原因

抛出TypeError: Cannot read properties of undefined (reading 'set')的本质是代码执行时postman.environment是未定义值,不存在set方法,和你写的语法本身无关,是Postman运行上下文、API兼容或者配置问题导致的。

排查与解决步骤
  • 第一步先检查右上角环境选择状态:如果Postman右上角环境下拉框显示为No Environment,也就是没有选中任何已创建的环境,postman.environment对象本身就不会被初始化,直接调用方法必然报错。你可以先在下拉菜单里新建一个环境,或者选中已存在的环境后再执行请求。
  • 第二步替换成官方当前推荐的稳定API:Postman v8及之后的版本已经逐步废弃旧的postman全局对象,在部分新版本客户端、网页版Postman里这个对象已经被移除,直接把代码替换为pm.environment.set('Username','User')即可,pm是目前全版本兼容的官方标准API。如果你不想单独创建环境,只是需要临时存变量,可以用全局变量API:pm.globals.set('Username','User'),这个不需要选中特定环境就能正常调用。
  • 第三步排查脚本变量冲突:如果你的预请求脚本里自定义过名为postman的变量,会覆盖全局内置的postman对象,导致后续调用方法时报错,搜索脚本内的重名声明,修改变量名即可。
  • 如果是用Newman命令行跑脚本时报错,检查执行命令是否携带了-e <你的环境配置文件路径>参数,未传入环境文件时Newman运行上下文里不会生成environment对象,补全参数即可。
正确代码参考
// 变量存储到当前选中的环境中,需要提前选中对应环境
pm.environment.set('Username', 'User');

// 变量存储为全局变量,无需提前选中环境,全工作区可用
pm.globals.set('Username', 'User');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:15:42