postman——集合——执行集合——集合工作流(集合执行顺序)

82387067 2020-01-14

建立工作流程

开始收集运行时,所有请求均按照在主应用程序中看到的顺序运行。因此,首先按照文件夹的顺序执行所有请求,然后再执行集合根目录中的所有请求。

但是,您可以使用称为内置函数来覆盖此行为postman.setNextRequest()顾名思义,此功能允许您指定下一个运行的请求。

让我们看一个样本集合以了解此功能。

入门

在开始之前,请下载并导入 collection.json作为本主题将讨论的示例。

基本工作流程

假设我们有一个包含四个请求的集合。如果直接运行此集合,则集合运行器将按顺序运行所有四个请求。

postman——集合——执行集合——集合工作流(集合执行顺序)

postman——集合——执行集合——集合工作流(集合执行顺序)

现在postman.setNextRequest(),如图所示,将其添加到请求1的测试脚本中。

postman.setNextRequest()是具有一个参数的函数,该参数是您接下来要运行的请求的名称或ID

在该示例中,我们在请求1的测试脚本中将下一个请求设置为请求4。因此,在请求1完成后,执行将跳至请求4。

如果我们现在运行相同的集合,您会看到现在仅运行两个请求。

postman——集合——执行集合——集合工作流(集合执行顺序)

postman——集合——执行集合——集合工作流(集合执行顺序)

请注意,postman.setNextRequest()仅适用于集合运行器和Newman,后者旨在运行集合,而不是发送单个请求。

 

 

 

 

进阶工作流程

现在我们对setNextRequest()工作原理有了很好的了解,我们可以执行高级操作。

由于您不再受定义请求顺序的限制,因此可以跳过集合,建立条件逻辑或跳过不必要的请求。

这篇博客文章解释了如何编写一个集合,该集合将根据您喜欢的音乐艺术家为您生成Spotify播放列表。

使用此工作流时,请记住以下两个事实:

  • postman.setNextRequest()总是在当前请求的末尾执行。这意味着,如果您将此功能放在请求或测试脚本中任何其他代码块之前,则这些代码块仍将执行。
  • postman.setNextRequest()有一个范围,它是您收集运行的来源。如果运行集合,则可以跳转到集合中的任何请求(甚至使用相同语法的文件夹中的请求)。
  •                                            但是,如果您运行一个文件夹,则范围postman.setNextRequest()仅限于该文件夹。
  •                                           因此,您可以跳到该文件夹??中的任何请求,但不能跳到该文件夹??之外的任何请求。它包括其他文件夹中的请求,以及集合中的根级别请求。

相关推荐