通过Postman CLI运行集合时,无法从预请求脚本设置access_token与token_expiry初始值
Postman CLI 预请求脚本设置变量失效问题解决办法
针对你的情况,可从以下几个方向排查修复:
修正变量作用域写法:
CLI对变量作用域的处理和GUI略有差异,如果你是用环境变量存储token,改用pm.environment.set():pm.environment.set("access_token", newToken); pm.environment.set("token_expiry", newExpiryTime);运行集合时必须指定对应环境文件:
postman collection run "你的集合名称" --environment "你的环境文件.json"切换全局变量确保跨请求生效:
若要让变量在整个集合运行周期内生效,试试全局变量:pm.globals.set("access_token", newToken); pm.globals.set("token_expiry", newExpiryTime);排查变量赋值逻辑是否正常:
先确认newToken和newExpiryTime在CLI环境下能正确获取——在预请求脚本中加日志:console.log("Token值:", newToken); console.log("过期时间:", newExpiryTime);然后带
--verbose参数运行CLI查看日志输出:postman collection run "你的集合名称" --verbose更新Postman CLI版本:
旧版本CLI可能存在API兼容问题,执行命令更新:npm update -g newman检查命令行参数冲突:
如果你运行CLI时用--env-var传入了同名变量,会覆盖脚本设置的值,去掉这类冲突参数即可。
内容的提问来源于stack exchange,提问作者anuj jain
相关产品推荐
相关产品推荐

