强大的接口测试可视化工具: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:

 

{
'List 1': [10, 20, 30, 40, 50, 60, 70],
'List 2': [100, 200, 300, 400]
}

  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流构建流,有时事情都无法按预期工作。调试是寻找流程正在做的事情与预期的事情之间差异的根源的过程。流有几个内置工具来帮助调试。

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

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

图片

  这是我整理的《2024最新jmeter接口测试和jmeter接口自动化测试全套教程附带性能测试》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

b站最新最全的jmeter接口测试和jmeter接口自动化测试,jmeter性能测试保姆级全套教程!

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置oss cdn加速静态资源访问 阿里云

效果对比 配置cdn下载速度对比 步骤 1: 登录阿里云控制台控制台主页,找到并点击“对象存储 OSS” 创建存储空间(Bucket) 设置权限 步骤 2: 获取外网访问地址 步骤 3 在 CDN 中使用该地址 复制该外网访问地址 打开全站加速 DCDN/域名管理 添…

STM32 PWR电源控制 与 低功耗模式 详解

目录 STM32 PWR电源控制 与 低功耗模式 详解 1. PWR 电源控制 简介 2. PWR 电源控制 框图 3. 上电复位和掉电复位 与 可编程电压检测器(PVD) 3.1 内嵌复位与电源控制模块特性图 3.2 上电复位和掉电复位 3.3 可编程电压检测器(PVD&…

微分方程(Blanchard Differential Equations 4th)中文版Section1.6

平衡点与相直线 给定一个微分方程 d y d t = f ( t , y ) , \frac{dy}{dt} = f(t, y), dtdy​=f(t,y), 我们可以通过绘制斜率场和勾勒图形来大致了解解的行为,或者使用欧拉法计算近似解。有时我们甚至可以推导出解的显式公式并绘制结果。所有这些技术都需要相当多的工作,无…

Python酷库之旅-第三方库Pandas(089)

目录 一、用法精讲 376、pandas.Series.list.flatten方法 376-1、语法 376-2、参数 376-3、功能 376-4、返回值 376-5、说明 376-6、用法 376-6-1、数据准备 376-6-2、代码示例 376-6-3、结果输出 377、pandas.Series.list.__getitem__魔法方法 377-1、语法 377-…

机器学习第十一章--特征选择与稀疏学习

一、子集搜索与评价 我们将属性称为 “特征”(feature),对当前学习任务有用的属性称为 “相关特征”(relevant feature)、没什么用的属性称为 “无关特征”(irrelevant feature).从给定的特征集合中选择出相关特征子集的过程&…

C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)535: T456454 数字统计

题目内容 请统计某个给定范围 [L,R] 的所有整数中,数字 2 出现的次数。 比如给定范围 [2,22],数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现…

Java项目集成RocketMQ

文章目录 1.调整MQ的配置1.进入bin目录2.关闭broker和namesrv3.查看进程确认关闭4.编辑配置文件broker.conf,配置brokerIP15.开放端口109116.重新启动1.进入bin目录2.启动mqnamesrv和mqbroker1.启动 NameServer 并将输出重定向到 mqnamesrv.log2.**启动 Broker 并将…

easyexcel--导入导出实现自定义格式转换

自定义格式 我们在数据库设计的时候经常会有枚举类型,如0表示普通用户,1表示VIP用户等,这在excel导入的时候,我们会填普通用户而不是0,这样就需要用到自定义格式把普通用户转换成0,我写了一个通用的抽象类…

深度学习基础—RMSprop算法与Adam 优化算法

1.RMSprop算法 1.1.算法流程 除了动量梯度下降法,RMSprop算法也可以加快梯度下降,这个算法的算法流程如下:深度学习基础—动量梯度下降法http://t.csdnimg.cn/zeGRo 1.2.算法原理 和动量梯度下降不同的是,对dW和db的变成了平方项…

什么是视频比特率?与视频时长是什么关系

​ ‌比特率是指单位时间内传输或处理的比特的数量,单位为‌bps(‌bit per second)。‌ 比特率经常用于描述在电信和计算领域中数据传输的速度,也可以作为衡量音频和视频文件数据率的指标。比特率越高,传送的数据越大,音频或视频…

springsecurity 登录认证一(ajax)

一、准备工作 1.1 导入依赖 因springboot 3.0 以上版本只能支持java17 顾使用2.5.0 版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.0</version><…

代码随想录 day 42 动态规划 买卖股票

第九章 动态规划part09 188.买卖股票的最佳时机IV 本题是123.买卖股票的最佳时机III 的进阶版 视频讲解&#xff1a;https://www.bilibili.com/video/BV16M411U7XJ https://programmercarl.com/0188.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%…

鸿蒙开发入门day05-ArkTs语言(接口与关键字)

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;还请三连支持一波哇ヾ(&#xff20;^∇^&#xff20;)ノ&#xff09; 目录 ArkTS语言介绍 接口 接口属性 接口继承 泛型类型和函数 泛型…

R语言统计分析——回归诊断2

参考资料&#xff1a;R语言实战【第2版】 R语言的car包提供的大量函数&#xff0c;大大增强了拟合和评价回归模型的能力。如下&#xff1a; 函数目的qqPlot()分位数比较图durbinWatsonTest()对误差自相关性做Durbin-Watson检验crPlots()成分与残差图ncvTest()对非恒定的误差方…

transformer-explainer

安装和启动 找到这个项目&#xff0c;然后装好了。 这个项目的目的如名字。 https://github.com/poloclub/transformer-explainerTransformer Explained: Learn How LLM Transformer Models Work with Interactive Visualization - poloclub/transformer-explainerhttps:/…

顶顶通呼叫中心中间件-一句话识别语音识别安装步骤

顶顶通呼叫中心中间件-一句话模型安装步骤&#xff0c;对接mod_vad。一句话识别&#xff08;http接口提交录音文件识别&#xff09; 一、安装一句话模型 一句话识别&#xff08;http接口提交录音文件识别&#xff09;&#xff0c;比如对接mod_vad(老电话机器人接口) curl -s…

web开发,过滤器,前后端交互

目录 web开发概述 web开发环境搭建 Servlet概述 Servlet的作用&#xff1a; Servlet创建和使用 Servlet生命周期 http请求 过滤器 过滤器的使用场景&#xff1a; 通过Filter接口来实现&#xff1a; 前后端项目之间的交互&#xff1a; 1、同步请求 2、异步请求 优化…

Xv6虚拟内存(三):进程地址空间

阅读材料 Xv6代码&#xff1a;memlayout.h、proc.h、proc.c教材3.6节 进程地址空间初始化 proc_pagetable函数 该函数用于初始化一个用户进程的地址空间&#xff0c;返回该地址空间的根页表基地址。该函数只干两件事&#xff1a;映射trampoline页到最高虚拟地址处&#xff0…

【软件测试】功能测试理论基础

目录 项目的测试流程&#x1f3f4; 需求评审 评审形式 测试人员在需求评审中职责 测试计划与方案 测试计划 问题 测试方案&#x1f3f4; 测试计划与方案的对比 功能测试设计&#x1f3f4; 测试设计的步骤 项目的测试流程&#x1f3f4; 作用&#xff1a; 有序有效开展…

Flink消费Kafka数据积压排查解决

0、背景 有个Flink任务每天不定时会出现数据积压&#xff0c;无论是白天还是数据量很少的夜里&#xff0c;且积压的数据量会越来越多&#xff0c;得不到缓解&#xff0c;只能每日在积压告警后重启&#xff0c;重启之后消费能力一点毛病没有&#xff0c;积压迅速缓解&#xff0…