Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 邮递员请求链_Javascript_Postman_Newman - Fatal编程技术网

Javascript 邮递员请求链

Javascript 邮递员请求链,javascript,postman,newman,Javascript,Postman,Newman,我希望在我的CI环境上运行postman测试。现在,在调用端点之前,我需要调用我们的oauth端点之一,以确保我有访问令牌。在《邮递员》中,有一个2岁的孩子,他有大量的投票和建议,可以在预请求中使用(这显然得到了《邮递员4.5》的支持)。因此,在我的预请求部分,我有以下内容: var responseBody = postman.setNextRequest("/oauth/token"); 它不起作用,似乎“/oauth/token”从未被调用过(没有出现在邮递员控制台中)。我肯定我不是第一

我希望在我的CI环境上运行postman测试。现在,在调用端点之前,我需要调用我们的oauth端点之一,以确保我有访问令牌。在《邮递员》中,有一个2岁的孩子,他有大量的投票和建议,可以在预请求中使用(这显然得到了《邮递员4.5》的支持)。因此,在我的预请求部分,我有以下内容:

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

它不起作用,似乎“/oauth/token”从未被调用过(没有出现在邮递员控制台中)。我肯定我不是第一个想到这个场景的人,所以我的问题是——有没有办法调用集合中的项目(给我访问令牌的项目)?也就是说,我不希望在每次需要所述访问令牌的测试之前复制相同的oauth请求。

我可以看到您在请求前部分使用的是
responseBody
。尽管您只是尝试将其设置为下一个请求<代码>响应库在其中不可用
responseBody
仅在
Tests
部分可用(显然是因为请求已经执行)

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

  • 第一次调用时执行身份验证请求
  • 获取访问令牌
  • 将其存储在环境变量中
  • 在需要令牌的后续请求中使用该令牌
  • 这将确保您的所有请求都在运行时生成了访问令牌。

    postman.setNextRequest()用于在当前请求之后执行所需的请求。这不能解决你的问题。最好的方法是使用
    postman.setEnvironmentVariable()函数并在需要时调用。

    是的,所以这是我的默认策略。我想也许有一种更优雅的方法可以做到这一点,比如从另一个集合执行请求可以让我在如何组织测试方面有更大的灵活性。目前
    postman.setNextRequest
    方法只在同一个集合中查找请求。是的,这也是我的直觉。但是为什么邮递员说setNextRequest支持预请求呢?这里的用例是什么?