邮递员请求链接

Postman request chaining

我想在我的 CI 环境中进行邮递员测试 运行。现在,在我调用端点之前,我需要调用我们的一个 oauth 端点,以确保我有访问令牌。在邮递员上,预请求中有 2 岁的 ticket with a ton of upvotes and suggestions to use setNextRequest(显然,邮递员 4.5 支持)。因此,我的请求前部分包含以下内容:

var responseBody = postman.setNextRequest("/oauth/token");

它没有用,似乎“/oauth/token”从来没有被调用过(没有出现在邮递员控制台中)。我确定我不是第一个反对这种情况的人,所以我的问题是 - 有没有办法从集合中调用一个项目(给我访问令牌的那个)?也就是说,我不想在每次需要所述访问令牌的测试之前重复相同的 oauth 请求。

我可以看到您在请求前部分使用了 responseBody。尽管您只是想将其设置为下一个请求。 responseBody 在那里不可用。 responseBody 仅在 Tests 部分可用(显然是因为请求已经执行)。

关于你的场景,你为什么不遵循:

  1. 在第一次调用时执行您的授权请求
  2. 获取访问令牌
  3. 将其存储在环境变量中
  4. 在您需要的后续请求中使用令牌。

这将确保您的所有请求都在 运行 时间生成访问令牌。

postman.setNextRequest() 用于在当前请求之后执行所需的请求。这不会解决你的问题。最好是将它存储在一个环境变量中使用 postman.setEnvironmentVariable() 函数并在需要时调用。