Postman—构建工做流

前言

在使用“Collection Runner”的时候,集合中的请求执行顺序就是请求在Collection中的显示排列顺序。可是,有的时候咱们不但愿请求按照这样的方式去执行,多是执行完第一个请求,再去执行第五个请求,而后再去执行第二个请求这样的方式;那么在“Collection Runner”中如何去构建不一样的执行顺序呢?这篇文章将总结如何在Postman中构建不一样的工做流。为了配合完成这篇文章的讲解,须要下面的集合文件,并在Postman中完成导入。点击下载进行下载示例文件。json

基础用法

当咱们开始运行“Collection Runner”时,全部请求都会按照咱们在主应用中看到的顺序进行运行。这意味着内部的全部请求都会首先按它们所在文件夹的顺序执行,而后执行集合根目录中的全部请求。可是,咱们可使用名为setNextRequest()的内置函数来覆盖此行为。函数

顾名思义,setNextRequest()将容许咱们指定接下来要运行的请求。post

结合上面提供的测试集合数据,导入之后,咱们会发现测试集合中有四个请求。在第一个请求的“Tests”标签页中包含如下代码:测试

// Some code here postman.setNextRequest('Request 4') // Some code here

postman.setNextRequest()是一个带有一个参数的函数,它是接下来要运行的请求的名称或ID。在这个例子中,咱们正在请求1的测试脚本中将请求4设置为下一个请求。这意味着请求1完成后,执行将跳转到请求4。若是咱们如今运行相同的集合,将会看到只有两个请求如今运行。以下图所示:ui

请注意,setNextRequest()仅适用于“Collection Runner”和Newman,其目的是运行集合,而不是发送单个请求。spa

高级用法

如今咱们对setNextRequest()的工做原理有了必定的理解,咱们能够用它作一些更加高级的工做。因为再也不受限于定义请求的顺序,所以咱们能够在集合内部来回跳转请求,创建条件逻辑或跳过没必要要的请求。可是,有一些须要咱们注意的问题:code

  • setNextRequest()老是在当前脚本全部语句执行完成后才执行。这意味着若是在其余代码块以前放置setNextRequest()请求,这些代码仍然会被执行;
  • setNextRequest()有一个做用域,它是集合运行的源。这意味着若是咱们运行一个集合,咱们能够跳转到集合中的任何请求(即便是使用相同语法的文件夹内的请求)。可是,若是运行文件夹,则setNextRequest()的做用域限于该文件夹;也就是说咱们能够跳转到该文件夹内的任何请求,但不能跳转到文件夹外的任何请求。这包括其余文件夹内的请求以及集合中的根级别请求。

参考:https://www.jellythink.com/archives/189blog

相关文章
相关标签/搜索