无法在邮递员脚本中设置全局变量

Cannot set global variable in postman script

当我通过 API 登录 Fortinet 设备时,它 returns 一个名为 fpc-sid 的变量。这是他们的 authtoken 版本。

当我尝试将它放在登录请求中测试部分的全局变量上时,它 returns fpc-sid 然后我得到:

"ReferenceError: sid is not defined"

出于某种原因,我认为它不喜欢“-”,但不确定。

如何将 fps-sid 设置为全局变量?

var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("fpc-sid", jsonData.fpc-sid);
var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("fpc-sid", jsonData.fpc-sid);

属性 不是有效标识符时不能像那样访问。按名称使用它:

var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("fpc-sid", jsonData['fpc-sid']);

阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors

也使用 pm 对象 pm.globals.set() 来设置 Danny 提到的变量。这是新语法,这将使它更适合未来