构建请求工作流
通常,当您开始收集运行时,Postman 会按照它们在您的收集中出现的顺序运行所有请求。首先执行文件夹中的请求,然后是集合根目录中的任何请求。
在 Collection Runner 中,您可以选择在开始运行之前更改请求的顺序。但是,无需在每次运行集合时手动更改请求顺序,您可以使用该postman.setNextRequest()
函数自动执行此行为。
顾名思义,postman.setNextRequest()
使您能够指定 Postman 在当前请求之后接下来运行哪个请求。使用此功能,您可以构建链接请求的自定义工作流,以特定顺序一个接一个地运行它们。
设置下一个请求
要指定接下来要运行的请求,请在请求的“测试”选项卡上添加以下代码。替换request_name
为您接下来要运行的请求的名称。
postman.setNextRequest("request_name");
Postman 在完成当前请求后运行指定的请求。
循环请求
如果将当前请求的名称传递给setNextRequest
函数,Postman 将重复运行当前请求。
重要提示:确保包含
setNextRequest
一些额外的逻辑,这样请求就不会无限循环。例如,您可能会在一定次数的迭代后或满足另一个条件时退出循环。否则,您将需要强制关闭 Collection Runner 以结束循环。
停止工作流
要停止工作流,请在请求的“测试”选项卡上添加以下代码。
postman.setNextRequest(null);
Postman 完成当前请求后,收集运行将停止。
构建请求工作流的提示
postman.setNextRequest()
使用该功能时,请牢记以下提示。
setNextRequest() 仅适用于 Collection Runner
该函数在您使用“发送postman.setNextRequest()
”按钮运行请求时无效,并且仅在您运行集合时使用。
在预请求或测试脚本中使用 setNextRequest()
您可以postman.setNextRequest()
在请求的预请求脚本或测试脚本中使用。如果分配了多个值,则设置的最后一个值优先。
使用请求 ID 指定下一个请求
您可以提供请求 ID,而不是指定接下来要运行的请求的名称。要查找 ID,请打开一个请求并在右侧的上下文栏中选择信息。
请注意,显示的 ID 是用户 ID,后跟请求 ID。省略前八位数字并用破折号获取请求 ID。您还可以使用该pm.info.requestId
函数获取请求 ID(请参阅Scripting Workflows)。
setNextRequest() 总是最后执行
该postman.setNextRequest()
函数始终在当前请求结束时执行。如果在此函数之后的请求前脚本或测试脚本中的任何位置放置其他代码块,这些代码块仍将在之前执行postman.setNextRequest()
。
setNextRequest() 范围仅限于集合
范围postman.setNextRequest()
是您的集合运行的来源。
- 如果您运行整个集合,您可以将集合中的任何请求设置为下一个请求,甚至是文件夹内的请求。
- 如果您运行文件夹,则范围
postman.setNextRequest()
仅限于该文件夹。在这种情况下,您可以将任何请求设置在与下一个请求相同的文件夹中,但不能将位于其他文件夹或集合根目录中的请求设置为。
了解有关运行集合或文件夹的更多信息。
下一步
要了解有关编写预请求和测试脚本的更多信息,请参阅Postman 中的脚本