邮递员:设置环境变量

Posted

技术标签:

【中文标题】邮递员:设置环境变量【英文标题】:Postman: set Environment Variable 【发布时间】:2019-01-09 22:19:04 【问题描述】:

我在 Postman 中有一个返回此 JSON 对象的 POST 调用:


    "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiO3Jsb3Blei5hbnRvbmlvODVAZ21haWwuY29tIiwiZXhwIjoxNTkzNjc0MzUxLCJpYXQiOjE1MzMxOTQzNTF9.oTPVkcgF1QcoOsg6KDGOaaTyCQYrWS51QDdRn__MDigivcsuaqUgBhDaTYwQnxOtOCjxDRXO_cqK8i5xBq02bQ"

在我的环境中,我设置了一个名为token的变量

我想设置值。我试过了

var data = JSON.parse(responseBody);
postman.setEnvironmentVariable("token", data.message.token);

var data = pm.response.json();
pm.environment.set("token", data.message.token);

但两者都有错误:SyntaxError |无效或意外的令牌

【问题讨论】:

【参考方案1】:

如果这是您在响应正文中返回的唯一内容,您为什么要添加“消息”?

使用data.token 或仅使用pm.response.json().token 并删除变量声明。

【讨论】:

【参考方案2】:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("TOKEN",jsonData.token);

【讨论】:

虽然此代码可以解决 OP 的问题,但最好包含关于您的代码如何解决 OP 问题的说明。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。 SO 不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能获得支持。这些功能,以及所有帖子都是独立的要求,是 SO 作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释。【参考方案3】:

下面为了设置环境变量key使用

var response=pm.response.json();
pm.environment.set("tokenkey", response.token);

【讨论】:

以上是关于邮递员:设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

邮递员 - 如何使用环境变量“responseBody.has”?

邮递员:我可以将 JSON 对象保存到环境变量中,以便将其链接到另一个请求中吗?

邮递员“环境快速查看”不显示全局变量

如何在预请求脚本中更改 Postman 环境?

如何将 swagger 导入带有环境的邮递员?

POSTMAN 错误:未解析变量:“此变量未在活动集合、环境或全局变量中定义。”