强大的接口测试可视化工具:Postman Flows

Postman Flows是一种接口测试可视化工具,可以使用流的形式在Postman工作台将请求接口、数据处理和创建实际流程整合到一起。如下图所示

Postman Flows是以API为中心的可视化应用程序开发界面。它提供了一个无限的画布用于编排和串连API,数据可视化来显示你的流的最终输出。

1. 能做什么
  • Business Flows

  • Integration Flows

  • Natural Language Processing (NLP) Flows

  • Slack Flows

  • DevOps Flows

  • Utility Flows

  • Miscellaneous Flows

2. 工作台导航

Postman流有一个直观的界面来创建你的应用程序,下面是Postman Flows界面的介绍。

  • start block:在每个流程中都可以找到的第一个块,也是唯一不能被删除的块。应用程序表单和Webhook通过这个块发送它们的信息。

  • Send Request block:在流程中可以使用的许多其他块类型之一。块的列表在这里。

  • Group:通过使组可以复制,从而实现流程的组织、文档化和构建。有关组织流程的更多信息可以在这里找到。

  • miniMap:使较大的流程更容易导航。

  • Add annotation:添加文本注释。

  • Run:运行流程。

  • Toolbar:包含重做/撤销、缩放和适应视图按钮。

  • Text annotation:为其他用户记录流程或解释正在执行的复杂任务的一种方式。

  • Console:这是你可以找到所有API活动的地方。这对于调试流程并确保你的流程正在运行预期的信息非常有用。有关排查流程故障的指南可以在这里找到。

  • Webhook:创建一个流程,它可以按计划自动运行,或者在指定事件发生时运行。有关Webhook和自动运行的更多信息可以在这里找到。

3. Flows Catalog

postman内置100多个预先构建的Flows集合,旨在解决常见的用例。在动手操作前先探索下这些集合是了解postman Flows可以做什么的好方法。

借助Flows Catalog,可以浏览和预览相应使用场景的Flow以获取用例,例如自动化联系人管理,使用AI创建自动响应或在数据库之间迁移数据。当你找到适合需求的Flow时,你可以在工作区中打开它,并在很少或没有设置的情况下开始使用它。

4. 构建Flows

构建流简单说基本上是在画布上添加Block和连接Block。流可以像发送请求并显示响应的几个块一样简单。流也可能要复杂得多,有许多相互连接的块来处理和可视化大量数据。

如果你是Flows的新手,请先浏览块列表或流教程。然后了解如何创建块并连接它们,以及如何在你的流中创建请求。随着对Postman Flows的熟悉程度,请尝试挖掘更高级的概念,例如查找和过滤数据以及使用循环和变量,还可以在下面的列表中发现更多的流概念。

  • Visualize data

  • Organize a Flow

  • Automate a Postman Flow run

  • Work with date and time

  • Troubleshooting Flows

4.1. Visualize data

输出块接受来自其他块的信息,并创建该信息的可视化。你可以从几种可视化类型中进行选择。

此图显示了四种类型的输出可视化类型: 折线图、文本、Gauge和布尔值。下面的教程演示如何创建这些可视化类型中的每一种。

4.1.1. Line chart

折线图可视化类型接受两个列表,并在图表中的x和y轴上绘制它们。接收到的第一个列表是x轴,第二个列表是y轴。

要创建示例折线图输出块,请执行以下操作:

创建一个新流程,在开始块中输入以下数据,然后从下拉列表中选择JSON:

 
  1. {

  2. "List 1": [10, 20, 30, 40, 50, 60, 70],

  3. "List 2": [100, 200, 300, 400]

  4. }

  1. 将选择块连接到开始块,然后选择列表1。

  2. 将另一个选择块连接到开始块,然后选择列表2。

  3. 将两个选择块连接到单个输出块。

  4. 在输出块的下拉列表中,选择折线图并运行流程。出现折线图,数据在各自的轴上。

4.1.2. Text

当输出块接收到字符串时,它会自动选择文本可视化类型并显示文本。

要创建示例文本输出块,请执行以下操作:

  1. 创建一个新流,并将带有GET请求的Send请求块添加到postman-echo.com/get。

  2. 将选择块连接到发送请求块,并输入body.headers.host。这将从响应中选择一个字符串。

  3. 将输出块连接到选择块并运行流程。输出块显示响应中的body.headers.host字符串,在本例中是postman-echo.com的。

4.1.3. Gauge

仪表可视化类型使用半饼图显示值在范围内的位置。

要创建示例Gauge输出块,请执行以下操作:

  1. 创建一个新Flow,并添加一个发送请求块,其中包含一个GET请求t o techcrunch.com/wp-json/wp/v2/posts。

  2. 将评估块连接到发送请求块,然后输入此FQL查询: $ count(value1.body) 以计算响应主体有多少项。

  3. 将输出块连接到评估块,然后从下拉列表中选择Gauge。

  4. 运行Flow。Gauge将响应主体中的项目数显示为图形的阴影部分。

要设置Gauge的最小值和最大值,请选择输出块的设置图标。

图片

4.1.4. Boolean

当输出块收到true或false消息时,它会自动选择布尔可视化类型,显示True或False。

要创建示例布尔输出块,请执行以下操作:

  1. 创建一个新流,并将带有GET请求的Send请求块添加到postman-echo.com/get。

  2. 将评估块连接到发送请求块,然后输入此FQL查询: value1.http.status = 200,以检查响应是否具有200状态代码。

  3. 将输出块连接到评估块并运行流程。如果响应具有200状态代码,则输出块将显示一个圆圈,显示为True。如果没有,圆圈显示False。

图片

你可以从输出块的下拉菜单中选择下面列出的输出格式。选择示例链接以在Postman中打开显示每种输出格式的流。

  • 文本-以文本行的形式显示连接到输入的信息。文本示例

  • 数字-如果连接到输入的信息是数字,则显示整数。数字示例

  • 布尔值-显示true或false值。如果连接到输入的值不是true/false或0/1,则始终显示true。布尔示例

  • JSON-以JSON格式显示连接到输入的信息,使你能够查看和选择数据。JSON示例

  • 条形图-显示连接到输入的一组或多组信息。条形图示例

  • 折线图-显示连接到输入的X和Y坐标的线。折线图示例

  • Gauge-当输入为百分比时显示一个数字。仪表示例

  • 表-将连接的输入显示为具有行和列的表。表格示例

  • Markdown-显示显示所有Markdown注释的文本。降价示例

  • URL-显示连接到输入的URL的超链接。URL示例

  • Image-显示来自连接到输入的URL的图像。图像示例

  • 视频-显示来自连接到输入并使其能够播放的URL的视频。视频示例

  • YouTube-显示来自连接到输入并使其能够播放的URL的YouTube视频。YouTube示例

4.2. Organize a Flow

对于用户而言,具有许多块的流可能是具有挑战性的。通过使用颜色、注释和分组,你可以帮助同事和用户理解更复杂的流程。

4.2.1. 颜色

可以将每个块配置为以颜色突出显示。这使得单个块与它们周围的其他块更容易区分。你可以通过选择一个块,然后选择出现在块上的左上角的绘制图标来添加颜色。

图片

4.2.2. 注释

当与其他人合作或在公共工作区中放置流程时,直接在画布上添加方向是有帮助的。这有助于解释如何使用流以及某些块在做什么。选择工具栏中的 “添加文本” 按钮以添加注释。在注释中选择文本将打开 “文本格式” 菜单,该菜单具有粗体,斜体和标题选项。如果复制链接,然后突出显示一些文本并粘贴链接,突出显示的文本将成为超链接。

图片

4.2.3. 分组

你可以将块和注释组合在一起。然后可以命名该组,指定颜色,调整大小,并从中添加或删除块。当执行诸如发送电子邮件之类的任务可能涉及多个块时,这可能很有用。

要访问分组菜单,请按住Shift键并在一组块周围拖动光标。你也可以在选择要添加的块的同时选择和保持一个或者一个Ctrl。选择文件图标将创建一个组。

图片

4.3. 自动化运行Flows

你可以将流发布到云,以便可以使用webhook触发该流。这使你的流能够在云中自动运行。

Postman Flows和webhook

Webhooks是一个系统告诉另一个系统某些信息已更改的一种方法。它的工作原理类似于在手机上推送通知。电子邮件应用程序不会不断检查你的电子邮件应用程序以查看是否有任何新邮件,而是会向你发送通知,告知你已收到新电子邮件。如今,许多具有api的服务也提供了webhooks,作为其系统与你的系统之间进行通信的一种方式。

当一个流发布到云中时,该流将在每次从另一个服务接收到webhook事件时运行。这很有用,因为流可以自动运行,并且不需要你的计算机打开,因为这些流在Postman的云中运行。

发布你的Flows

在侧边栏的 “应用程序” 下,选择Webhook生成webhook并将本地流上传到Postman的云。

图片

你可以在请求中使用生成的webhook来触发你发布的流。侧边栏中的Webhook部分计算你的流的webhook收到了多少请求。

图片

  1. 选择预览在本地测试webhook。你可以添加请求主体来模拟传入的webhook数据。

  2. 选择 “发布” 以在对流程进行更改后将你的流程重新上传到Postman的云。

  3. 选择 “更多操作” 图标,以配置webhook,查看流的已发布版本或取消发布流。你可以配置你的webhook接收到的传入数据 (仅正文或完整请求),以及服务器是否会以默认响应或以空主体进行响应。

要查看已发布流的实时日志,请选择 “更多操作” 图标 “> 查看已发布版本”> “查看实时日志”。

图片

4.3.1. 触发webhook

通常在使用webhooks时,第三方服务会将数据发送到已发布的Flow的webhook。你可以将侧边栏中的webhook下的Webhook URL提供给其他服务,以便他们可以向其发送数据。设置完成后,你可以查看实时日志,并查看来自其他服务的请求用作测试数据的外观。流也可以通过向Webhook URL发出请求来手动运行。

4.4. 使用数据和时间

许多api期望日期和时间的格式不同。流具有许多内置的FQL函数来处理所需的任何格式。

日期和时间是如何存储在流程中的

所有三个流程日期和时间块 (现在,日期,日期和时间) 都将日期和时间存储为数字。该数字是一种常见的格式,是自1970年1月1日00:00:00 UTC以来的毫秒数 (称为Unix时间)。这简化了日期比较,并且可以根据需要将数字转换为其他格式。

图片

对不同的格式使用FQL

ISO 8601格式常用于许多api。FQL具有now功能,该功能以ISO格式2023-08-11T02:03:46.145 00:00打印出当前时间戳。如果API需要时间戳的缩短版本,则fromMillis函数接受一种称为图片的格式,可以在此处找到。例如,可以使用下面的FQL来获得没有时间的ISO格式的日期:

图片

4.5. 数据查找和过滤

通常,需要检查流中的信息是否具有一定的值。根据从API返回的信息的结构,有几种不同的方法可以使用FQL解决此问题。

4.5.1. 包含

contains是检查某些引用信息是否具有单词或模式 (正则表达式) 的最直接方法。由于包含返回true或false,因此通常与If块一起使用。下面的示例说明了当输入具有期望值时,信息如何仅通过If块传递。

图片

4.5.2. 过滤器

使用筛选器从较大的元素列表中获取元素子集。要使用filter,该函数看起来像 $ filter (列表名称,fn($ v,$ i,$ a) { filter condition }),其中 $ v是列表中的值,$ i是索引 (第零项,第一项,第二项,第三项),$ a是整个列表。$ v通常是过滤的重要值,并且是实际需要使用的唯一值。在下面的示例中,有一个公司列表,但是对于其余的流程,只需要启用的公司。

图片

4.5.3. 计数

count返回列表中的项目数。这是常用的,因为当流程正在寻找一个特定的项目时,api通常会返回项目列表。发生这种情况时,流程需要检查API是否仅返回一条记录,或者是否存在列表,并且需要进一步过滤。此函数有用的另一种情况是从列表中生成随机结果。在下面的示例中,配方API返回配方列表,流程从列表中随机选择一个。

图片

4.5.4. distinct

distinct仅返回列表中的唯一项目。有时,结果列表中有重复的条目 (也许有人用两封不同的电子邮件注册了),流程需要将它们过滤掉。

图片

4.6. 故障排查

无论你是使用代码开发应用程序还是使用Postman流构建流,有时事情都无法按预期工作。调试是寻找流程正在做的事情与预期的事情之间差异的根源的过程。流有几个内置工具来帮助调试。

发送请求块中的成功和失败端口

当发送请求块运行时,可以在成功或失败输出 (取决于结果) 中运行请求后查看该块的输出。这对于检查请求是否成功并返回预期的信息很有用。

图片

 

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906174.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 实战技巧:让你成为前端高手的必备知识3(进阶版)

一、DOM概述 (一)DOM操作 是指使用‌JavaScript操作文档对象模型(Document Object Model)的过程。‌文档对象模型是一种表示网页文档结构的方式,它将整个网页文档表示为一个树形结构,每个元素都是一个节点…

Python 网络爬虫教程:从入门到高级的全面指南

Python 网络爬虫教程:从入门到高级的全面指南 引言 在信息爆炸的时代,网络爬虫(Web Scraping)成为了获取数据的重要工具。Python 以其简单易用的特性,成为了网络爬虫开发的首选语言。本文将详细介绍如何使用 Python …

【抖音】a_bogus参数逆向分析

抖音回复评论: 点击——展开xxx条回复﹀就会出现 https://www.douyin.com/aweme/v1/web/comment/list/reply 直接搜又搜不到 分析调用堆栈 可以看到这个栈是有请求相关的数据的 上面一个栈 所以就是在bdms.js里面生成的 就在这里打上日志断点:“T…

基于SpringBoot的宠物健康咨询系统的设计与实现

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,宠物健康知识信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不…

基于大语言模型(LLM)自主Agent 智能体综述

近年来,LLM(Large Language Model)取得了显著成功,并显示出了达到人类智能的巨大潜力。基于这种能力,使用LLM作为中央控制器来构建自助Agent,以获得类人决策能力。 Autonomous agents 又被称为智能体、Agent。指能够通过感知周围环境、进行规划以及执行动作来完成既定任务。…

jmeter脚本-请求体设置变量and请求体太长的处理

目录 1、查询接口 1.1 准备组织列表的TXT文件,如下: 1.2 添加 CSV数据文件设置 ,如下: 1.3 接口请求体设置变量,如下: 2、创建接口 2.1 见1.1 2.2 见1.2 2.3 准备创建接口的请求体TXT文件&#xff…

elasticsearch 8.x 插件安装(六)之Hanlp插件

elasticsearch 8.x 插件安装(六)之Hanlp插件 elasticsearch插件安装合集 elasticsearch插件安装(一)之ik分词器安装(含MySQL更新) elasticsearch 8.x插件(二)之同义词安装如何解决…

2024Python安装与配置IDE汉化教程

【一】Python解释器下载【运行环境】 【1】Python官网 [https://www.python.org](官网进不去的可以点击点击领取,100%免费!安装包) 包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】! 【…

华为自研仓颉编程语言官网上线 首个公测版本开放下载

仓颉编程语言官网正式公开上线,同时首个公测版本开放下载。本次仓颉编程语言官网上线了首页、在线体验、文档、学习、下载、动态以及三方库共六个模块,可供开发和学习和体验。 据悉,仓颉编程语言是在今年6月的华为开发者大会上正式公布&…

论文翻译 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES

摘要 最近的信息检索研究主要集中在如何从一个任务(通常有丰富的监督数据)转移到其他各种监督有限的任务上,其隐含的假设是从一个任务可以泛化到所有其他任务。然而,这忽略了这样一个事实,即存在许多多样化和独特的检索…

Virtuoso使用layout绘制版图、使用Calibre验证DRC、LVS、PEX抽取RC

1 绘制版图 1.1 进入Layout XL 绘制好Schmatic后,在原理图界面点击Launch,点击Layout XL进入版图绘制界面。 1.2 导入元件 1、在Layout XL界面左下角找到Generate All from Source。 2、在Generate Layout界面,选中“Instance”&#…

微信小程序服务通知

项目中用到了小程序的服务消息通知,通知订单状态信息,下边就是整理的一下代码,放到项目中,把项目的小程序appid和小程序的secret写进去,直接运行即可 提前申请好小程序服务信息通知短信模板,代码需要用到模…

QT(图表)

目录 QChart的继承关系 基本组件和概念 常见图表类型及其系列类 常用的图表配置 一、折线图示例 二、柱状图示例 三、饼图示例 四、类波形图(折线图)示例 QChart 模块提供了直观的图表绘制接口,支持创建各种常见的图表类型&#xff0…

day13:FTP服务

一,FTP概述 概述 FTP(File Transfer Protocol,文件传输协议)是用于在计算机之间传输文件的协议。它工作在网络的应用层,通过 TCP 协议进行数据传输,默认端口号为 21(命令端口,另外…

2024年末Meme币市场分析:最后两个月的走势预测

进入2024年最后的两个月,Meme币市场正面临复杂的内外部环境,行情波动增大,许多投资者希望对年底走势做出预测,以便更好地调整投资策略。在这篇文章中,我们将从市场情绪、监管政策、技术创新和宏观经济等几个关键因素出…

ssm+vue657基于spring和vue开发的web新闻流媒体平台

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

家电智能屏方案新选择,乐鑫SoC高集成触控语音控制,启明云端乐鑫代理商

随着科技的飞速发展,智能家居系统正逐渐成为现代生活的一部分。在这一变革中,LCD屏幕作为人机交互的核心界面,扮演着至关重要的角色。 它们不仅提供实时信息的展示,还支持丰富的交互式体验,使得家庭管理变得更加直观和…

ceph补充介绍

SDS-ceph ceph介绍 crushmap 1、crush算法通过计算数据存储位置来确定如何存储和检索,授权客户端直接连接osd 2、对象通过算法被切分成数据片,分布在不同的osd上 3、提供很多种的bucket,最小的节点是osd # 结构 osd (or device) host #主…

(六)Python结构数据类型

一、集合类型(Sets) Sets(集合)是一个无序不重复的元素集。主要功能是自动清除重复的元素。创建集合时使用大括号{}包含其中元素。 Food{西瓜,南瓜,冬瓜,北瓜} print(Food) 输出结果: 增加重复元素,则会…

补齐:相交链表:扣160

梦重新开始的地方 – 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交: 示例: 何解? 暴力&…