前言

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

基础用法

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

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

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

// Some code here

postman.setNextRequest('Request 4')

// Some code here

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

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

高级用法

现在我们对setNextRequest()的工作原理有了一定的理解,我们可以用它做一些更加高级的工作。由于不再受限于定义请求的顺序,因此我们可以在集合内部来回跳转请求,建立条件逻辑或跳过不必要的请求。但是,有一些需要我们注意的问题:

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

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

Postman—构建工作流的更多相关文章

  1. postman使用--构建工作流和newman

    构建工作流 在使用“Collection Runner”的时候,集合中的请求执行顺序就是请求在Collection中的显示排列顺序.但是,有的时候我们不希望请求按照这样的方式去执行,可能是执行完第一个 ...

  2. Android官方技术文档翻译——构建工作流

    本文译自androd官方技术文档<Build Workflow>,原文地址:http://tools.android.com/tech-docs/new-build-system/buil ...

  3. SharePoint 2013 开发——构建工作流开发环境

    博客地址:http://blog.csdn.net/FoxDave 本篇我们来讲述一下如何搭建SharePoint 2013工作流开发环境. Windows Azure Workflow作为单独的可下 ...

  4. 如何用webpack实现自动化的前端构建工作流

    什么是自动化的前端构建流? 1. 自动补全css私有前缀,自动转化less\sass为css,自动转化es6\vue\jsx语法为js,自动打包小图片为base64以减少http请求,自动给js,cs ...

  5. Hue上的Oozie构建工作流和定时任务步骤

    Oozie是什么? Oozie是一种Java Web应用程序,它运行在Java servlet容器--即Tomcat--中,并使用数据库来存储以下内容: 工作流定义 当前运行的工作流实例,包括实例的状 ...

  6. 如何利用启明星Portal门户系统的Page模块构建工作流表单

    启明星门户网站的Pages模块支持构建自定义表单系统.这使得对于使用表单收集用户数据的需求来说非常有用. 本文介绍如何构建一个简单的“出差系统”. 1.在页面里增加Pages模块,建立人事部部门,然后 ...

  7. 接口测试与Postman

    阅读目录 1.接口测试简介 1.1 什么是接口测试  1.2 接口测试的必要性 1.3 接口测试流程 1.4 接口文档 1.5 接口测试用例设计 1.6 接口测试用例模板 2.Postman 2.1 ...

  8. WPF整理-XAML构建后台类对象

    1.XAML 接触WPF的第一眼就是XAML---XAML是用来描绘界面的.其实不然! "Actually, XAML has nothing to do with UI. It's mer ...

  9. SharePoint 2013 开发——工作流架构

    博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...

随机推荐

  1. (最短路) Heavy Transportation --POJ--1797

    链接: http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K To ...

  2. 一致性哈希算法和Go语言实现

    一致性哈希算法,当我第一次听到这个名字的时候,感觉特别高深.而它往往会和分布式系统相关,准确的说,是分布式缓存. 在Web服务中,缓存是介于数据库和服务端程序之间的一个东西.在网站的业务还不是很大的时 ...

  3. spring案列——annotation配置

    一.需要的jar包 spring.jar commons-loggin.jar commons-loggin.jar commons-annotation.jar 二.项目结构 三.entity pa ...

  4. x13 vs md5

    x13 vs md5 阅读:  评论:  作者:Rybby  日期:  来源:rybby.com 最近在设计巴巴变时想对用户设计的节点模块添加锁定功能,比如你的网站可以让用户发表文章或评论,而你想让用 ...

  5. Hibernate 的复杂用法HibernateCallback

    HibernateTemplate还提供了一种更加灵活的方式来操作数据库,通过这种方式可以完全使用Hibernate的操作方式.HibernateTemplate的灵活访问方式可通过如下两个方法完成: ...

  6. 个人项目:实现wc.exe(Java)

    本项目Github地址:https://github.com/NNewBoy/wc 项目相关要求 基本功能:(已实现) -c 统计文件字符数 -w 统计文件词的数目 -l 统计文件行数 扩展功能:(已 ...

  7. Android-创建启动线程的两种方式

    方式一:成为Thread的子类,然后在Thread的子类.start 缺点:存在耦合度(因为线程任务run方法里面的业务逻辑 和 线程启动耦合了) 缺点:Cat extends Thread {} 后 ...

  8. Code Review Checklist and Guidelines for C# Developers

    Checklist1. Make sure that there shouldn't be any project warnings.2. It will be much better if Code ...

  9. ASP.NET控制HTTP缓存

    请求   响应 If-Modified-Since Last-Modified If-None-Match ETag 至于Expires和Cache-Control 附上几张高手的图 Etag 在使用 ...

  10. MySql采用range分区可提升查询效率

    简介: RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区.在5.7版本中DATE.DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的R ...