当前位置: 首页 > 知识库问答 >
问题:

如何从Postman中的响应正文中设置环境变量,其中相关关键字是连字符的

宰父宾实
2023-03-14

我试图通过从api的响应体中捕获一个节点来设置环境变量,其中该节点包含两个连字符单词。

我的脚本是-邮递员。setEnvironmentVariable(“Token”,jsonData.access Token) -这会不断返回ReferenceError:未定义令牌

响应正文中的节点是 - {“访问令牌”:”

我试过使用这个脚本-<代码>邮差。setEnvironmentVariable(“Token”,jsonData.access/-/Token/) -此脚本将关键字“Token”设置为环境密钥,但不从响应主体中捕获实际令牌的值。

有谁知道这个问题的解决方案吗?


共有2个答案

郎意
2023-03-14

我使用此代码从响应中获取令牌,并将其设置在环境变量中

const responseJson = pm.response.json();
console.log(responseJson);
if(typeof responseJson.access_token !== 'undefined'){
    pm.environment.set("gateway-access-token", responseJson.access_token);
}
濮阳钟展
2023-03-14

引用错误:未定义令牌

这表明令牌应该是一个不同的变量,但找不到。

postman.setEnvironmentVariable(令牌,html" target="_blank">jsonData.access令牌);

上面的语句具有无效的JavaScript语法,因为变量/对象属性名称中不能包含连字符。有关有效名称的更多信息,请点击此处:https://mathiasbynens.be/notes/javascript-identifiers

这可以通过使用方括号表示法来修复,如下所示:

pm.environment.set("Token", jsonData["access-token"]);

请注意,postman.*系列函数已弃用,并已替换为它们的pm.*等价物。更多详细信息可以在此处找到:https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_api_reference

 类似资料:
  • 我在postman中有2个chanined请求,第一个执行GET以列出所有数据,然后根据返回的值设置环境变量。第二个请求尝试使用环境变量作为字段值的 POST。 请求1 的值为5 请求 2 带主体: 这可以通过Postman的GUI正常工作,但是当从命令行Newman运行时,当请求到达API时,的值是不是如预期的那样。 我执行了相同类型的替换,环境变量直接从返回的数据中设置 这部作品不是《邮递员》

  • 我如何将一组键/值对从文本文件导出到shell环境中? 以下是问题的原始版本,并举例说明,以资记录。 我正在bash中编写一个脚本,它解析某个文件夹中包含3个变量的文件,这是其中之一: 然后,我的脚本minientrega.sh使用以下代码解析文件: 但是当我在命令行中执行时,它不会设置环境变量 我还尝试使用,但同样的问题仍然存在

  • 我想在启动脚本中设置环境变量(如),同时仍然能够仅用一个命令启动应用程序。

  • 问题内容: 我在Docker容器中设置了Jenkins,并且尝试通过该服务器访问我的私有Bitbucket存储库。我需要将SSH密钥复制到该容器中,以便Bitbucket能够识别它,然后让Jenkins服务器访问该存储库。 我的docker-compose.yml文件中包含以下内容: 但是,从字面上给出而不是存储在内部的值。我听说在Dockerfile中执行此操作的问题是它仍然可以在将要推送的映像

  • 问题内容: 我找不到与Python 等效的Java文档,有这样的事情吗? 我正在创建一个对象的快照(用于在任何失败的情况下用于还原);一旦分配了此备份变量,就不应对其进行修改-Python中类似final的功能将非常有用。 问题答案: 在Java中拥有一个变量基本上意味着您一旦分配了变量,就不能重新分配该变量以指向另一个对象。实际上,这并不意味着不能修改该对象。例如,以下Java代码可以很好地运行

  • TL公司;DR:如何将一组键/值对从文本文件导出到shell环境? 为了记录在案,以下是问题的原始版本,并附有示例。 我正在bash中编写一个脚本,它解析某个文件夹中具有3个变量的文件,这是其中之一: 此文件存储在 中 我的脚本然后使用以下代码解析文件: 但是当我在命令行中执行 时,它不会设置环境变量 我还尝试使用< code>source。/conf/$1但是同样的问题仍然存在 也许还有其他方法