建立工作流程
开始收集运行时,所有请求均按照在主应用程序中看到的顺序运行。因此,首先按照文件夹的顺序执行所有请求,然后再执行集合根目录中的所有请求。
但是,您可以使用称为的内置函数来覆盖此行为postman.setNextRequest()
。顾名思义,此功能允许您指定下一个运行的请求。
让我们看一个样本集合以了解此功能。
入门
在开始之前,请下载并导入 collection.json作为本主题将讨论的示例。
基本工作流程
假设我们有一个包含四个请求的集合。如果直接运行此集合,则集合运行器将按顺序运行所有四个请求。
现在postman.setNextRequest()
,如图所示,将其添加到请求1的测试脚本中。
postman.setNextRequest()
是具有一个参数的函数,该参数是您接下来要运行的请求的名称或ID。
在该示例中,我们在请求1的测试脚本中将下一个请求设置为请求4。因此,在请求1完成后,执行将跳至请求4。
如果我们现在运行相同的集合,您会看到现在仅运行两个请求。
请注意,postman.setNextRequest()
仅适用于集合运行器和Newman,后者旨在运行集合,而不是发送单个请求。
进阶工作流程
现在我们对setNextRequest()
工作原理有了很好的了解,我们可以执行高级操作。
由于您不再受定义请求顺序的限制,因此可以跳过集合,建立条件逻辑或跳过不必要的请求。
这篇博客文章解释了如何编写一个集合,该集合将根据您喜欢的音乐艺术家为您生成Spotify播放列表。
使用此工作流时,请记住以下两个事实:
postman.setNextRequest()
总是在当前请求的末尾执行。这意味着,如果您将此功能放在请求或测试脚本中任何其他代码块之前,则这些代码块仍将执行。postman.setNextRequest()
有一个范围,它是您收集运行的来源。如果运行集合,则可以跳转到集合中的任何请求(甚至使用相同语法的文件夹中的请求)。- 但是,如果您运行一个文件夹,则范围
postman.setNextRequest()
仅限于该文件夹。 - 因此,您可以跳到该文件夹中的任何请求,但不能跳到该文件夹之外的任何请求。它包括其他文件夹中的请求,以及集合中的根级别请求。