下载本例中使用的集合:
基本用法
当您开始运行集合时,所有请求按照您在主应用程序中看到的顺序运行。这意味着内部的所有请求首先按照它们所在的文件夹的顺序执行,然后按照在集合根目录中顺序执行。但是,您可以调用内置函数setNextRequest()
来覆盖此行为。
setNextRequest()
,顾名思义,将允许您指定下一步运行哪个请求。了解这一点的最简单的方法是查看集合示例。
我们假设我们有一个包含四个请求的集合。如果直接运行此集合,则集合运行程序将按顺序运行所有四个请求。
现在我们来为Request 1的测试脚本添加postman.setNextRequest()
,如图所示。postman.setNextRequest()
是一个具有一个参数的函数,包含要下一步运行的请求的名称或ID。在示例中,我们将测试脚本中请求Request 1
的下一个请求设置为Request 4
。这意味着在Request 1
完成执行后将跳转到Request 4
。如果我们现在运行相同的集合,您将看到只有两个请求在运行。
请注意,setNextRequest()
只能与集合运行程序或Newman一起使用,其目的是运行集合,而不是发送单个请求。
高级用法
现在我们对如何setNextRequest()
工作有了很好的了解,我们可以用它做一些更加高级的东西。由于您不再受定义请求的顺序的限制,您可以跳过您的集合,建立条件逻辑或跳过不必要的请求。这个博客文章解释了如何编写一个集合,将根据您最喜爱的音乐艺术家为您生成Spotify播放列表。
有一些需要牢记的问题:
-
setNextRequest()
总是在当前脚本的末尾执行。这意味着如果放在setNextRequest()
其他代码块之前,这些块仍然被执行。 -
setNextRequest()
有一个范围,这是您的收集运行的来源。这意味着如果您运行集合,则可以跳转到集合中的任何请求(即使是使用相同语法的文件夹内的请求)。但是,如果运行一个文件夹,范围setNextRequest()
限于该文件夹。这意味着您可以跳转到此文件夹中的任何请求,但不能跳过该文件夹外的任何请求。这包括其他文件夹中的请求以及集合中的根级别请求。阅读有关运行集合或文件夹的更多信息。