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

Postman中的(高度动态)环境变量

谷星文
2023-03-14

Postman支持设置环境变量,并在例如标题中使用它们。

考虑以下示例:

  1. 令牌endpoint/auth/Token需要基本授权标头:Basic{{AUTH_BASIC}}
  2. 所有其他endpoint都需要承载授权标头:承载{{AUTH_TOKEN}

目前,我需要完成以下所有步骤,这非常烦人:

  1. 调用/auth/token
  2. 从响应中手动复制令牌
  3. 转到<code>设置

是否有一种方法可以在每次调用/AUTH/TOKEN时自动更新AUTH_TOKEN环境变量,或者至少始终显示当前环境变量的列表,以便我可以手动更新值,而无需转到

共有2个答案

西门嘉石
2023-03-14

对于将来在这里登陆的任何人,您现在可以通过以下方式完成此操作:

var response = pm.response.json();
pm.environment.set('AUTH_TOKEN', response.token);
庄嘉
2023-03-14

考虑 /auth/令牌响应类似于:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
}

转到< code>/auth/tokenendpoint的“测试”选项卡,粘贴以下内容:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("AUTH_TOKEN", jsonData.token);
 类似资料:
  • 我想将有效负载架构添加到环境变量,以便我可以根据架构验证响应负载。 我的环境变量定义如下: 但是,我无法在我的邮递员测试代码中访问此环境变量。我尝试过通过以下方式访问它: 但是,这将返回null。如何访问使用postman创建的环境变量。我实现这一点的方式与http://blog.getpostman.com/2017/07/28/api-testing-tips-from-a-postman-p

  • 我正在使用Postman的打包应用程序版本来针对我的Rest API编写测试。我正在尝试管理连续测试之间的状态。为了方便起见,向Javascript测试运行时公开的Postman对象有设置变量的方法,但没有用于读取的方法。 现在,我可以在下一次调用中通过{{key}}结构读取这个值,该结构从当前环境中获取值。但是,这在测试中不起作用;它只在建筑材料中起作用。 那么,有没有人可以从测试中读到这些东西

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

  • 我有一个预请求脚本,它在每次生成请求时递增一个环境变量以生成不同的ID。此外,我有一个运行程序多次调用此请求: 但是,我注意到在运行期间,环境变量不会更新,至少在环境选项卡中是这样: 但我监控控制台日志中的变量,它正确递增: 我的问题是,如果我在所有请求结束之前过早停止运行程序,环境变量不会注册所有已执行的集合,因此它会保留执行开始时的值。这可能是一个已知的问题,也可能只是我以错误的方式使用工具,

  • 问题内容: 我的特定用例是,我想组织一些有关容器在其上运行的EC2实例的数据,并使我可用作环境变量。构建容器时,我想这样做。 我希望能够在Dockerfile中执行类似的操作,但毫不奇怪,这行不通(您只得到了string )。 我应该提及的是,我知道将要执行此操作,但是我特别希望将其内置到容器中。 我是否缺少明显的东西?这有可能吗? 问题答案: Docker v1.9或更高版本 如果您使用的是Do

  • 问题内容: Jenkins(管理jenkins->系统信息)下的环境变量从何而来? 我检查了/etc/init.d/tomcat5,/ usr / bin / dtomcat5,/ usr / bin / tomcat5,/ etc / sysconfig / tomcat5和/ etc / profile,但在那里没有看到任何此类变量,特别是与Oracle相关的变量(Base,Home,Ld_l