1

我想在我的 CI 环境中运行邮递员测试。现在,在调用端点之前,我需要调用我们的 oauth 端点之一,以确保我拥有访问令牌。在邮递员上,有 2 年的,有大量的赞成票和建议在预请求中使用setNextRequest (显然,邮递员 4.5 支持)。因此,我的预请求部分中有以下内容:

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

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

4

2 回答 2

2

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

于 2017-04-11T10:46:40.033 回答
1

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

关于您的情况,您为什么不遵循:

  1. 执行您的身份验证请求作为第一次调用
  2. 获取访问令牌
  3. 将其存储在环境变量中
  4. 在您需要的后续请求中使用该令牌。

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

于 2017-04-11T07:16:14.537 回答