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