API 集成在当今使用的许多 Web 服务中,允许系统来回发送和通信各种信息。 因此,它们是关键服务和用户之间的强大纽带。 与系统的任何重要部分一样,有必要测试它们。 使用第三方 API 测试解决方案(邮递员),我们可以同时执行手动和自动测试(包括 API 监控)。

API 代表 应用程序编程接口。 它是一个软件对软件界面。 使用 API 时,应用程序彼此交谈,无需客户端干预。 但是,随着数千个 API 的可用,Postman 开始创建、测试、共享和管理这些 API,使 API 使用效率更高,而且不那么繁琐。

本文将帮助您了解什么是 Postman、什么是 Postman 集合、突出的功能和优势,以及如何为 Postman 集合设置负载测试及其与 具有 LoadView 的 CI/CD 管道的集成。

邮递员负载测试与负载视图

探索我们的负载测试解决方案或阅读下面的步骤,了解如何使用邮递员与负载视图

什么是邮递员?

Postman 是一种流行的 API 客户端工具,它使开发团队能够更轻松地创建、共享、测试和记录 API。 它提供了无缝的用户体验,通过根据 API 规范快速创建请求并剖析各种响应参数(如状态代码、标头和实际响应正文本身),帮助命中 API 终结点。 我们可以利用这些功能进行连续和自动化测试。 它被用作针对 API 进行开发、记录和测试的配套工具,并提供用户界面来发出 REST(具象状态传输)API 服务器请求并显示来自服务器的响应。

Postman 是软件开发生命周期中使用的 API 开发工具:

  • API 开发
  • API 测试
  • API 文档

Postman不仅为我们提供了一个使用API的环境,而且还可以用来像浏览器一样请求网页。 在地址栏中输入URL,然后点击发送以查看HTML(超文本标记语言)响应。 Postman 还可以帮助在用户发送请求之前和获取响应后追加脚本。 我们可以将每个请求存储在集合中,以后可以使用集合按顺序运行所有请求。

但是,Postman不是的一件事是性能测试工具。 虽然您将能够运行小型的受控测试,从而为您提供 API 响应时间,但这与在实际条件下运行测试不同。 它不会使 API 承受任何真正的压力,因此它不是当涉及真实用户时 API 将如何响应的良好指标。 为此,您需要一个像LoadView这样的解决方案,我们将在本文后面更详细地讨论。

邮递员界面

什么是 API 测试?

在 API 测试中,我们使用专用工具将调用发送到托管 API 的服务器并检索响应。 API 测试的目标是确认正确执行并验证 API 是否按预期获取、保存或更新资源。

如果我们知道 API 应该执行特定操作,如更新数据、获取数据、删除数据、更改数据,则测试应检查这些操作的结果。 它的行为是否与它应该的方式相同? 什么时候不应该发生呢? 结果是什么,你会期望它是什么? API 测试通常是黑匣子测试,但只要我们事先能够访问 API 行动的结果,并且我们知道需要验证的预期响应。

API 测试:功能测试与负载测试

正如我们上面简要提到的,功能测试或黑盒测试主要涉及根据一组规范测试基本功能并观察它们是否有效。 在 API 能够通过开发周期并进一步测试之前,基本 API 功能必须发挥作用。 如果开发人员在不确保基本功能已正确测试的情况下从功能测试转向加载测试,则会放弃负载测试和结果。 功能测试的结果只是观察某些东西是否有效。

另一方面,负载测试类似于功能测试,但不同的是负载测试集来测试这些功能如何经得起大量并发用户或负载。 负载测试的结果包括了解这些 API 端点在负载下如何响应和执行。

邮递员的特点

Postman为用户提供的大量功能似乎没有尽头。 从 Postman API 和工作流控件等功能到用于回归测试的内置监视器,该工具涵盖了 API 测试。 但是,在高层次上,每个API测试人员都需要一些核心功能。 让我们仔细看看这些功能。

导入请求

Postman 提供了一个导入功能,我们可以粘贴原始 CURL 文本并将其转换为具有请求 URL、标头、请求正文、查询参数和授权令牌等详细信息的请求格式。

多个协议和技术支持

Postman API 客户端功能允许我们发送 REST、SOAP、WSDL 和 GraphQL 请求。

编写测试用例

我们可以创建运行添加 API 的测试用例,并可以通过断言 JSON/XML 响应和响应代码验证来帮助响应验证。

集合

Postman 帮助我们创建集合,这有助于将 API 与文件夹结构隔离在不同的项目。 它支持运行集合,最终将运行集合的所有 API 部分。

JSON 架构验证

您可以使用 JSON(JavaScript 对象表示法)架构来定义其请求和响应的结构。 它有助于清理和构建JSON内容,使其易于理解和阅读Postman。

使用环境和动态变量

我们可以在 Postman 中创建变量,并且基于不同的环境,相同的变量可以为所选环境映射不同的值。 当我们使用相同的 API,但在现实世界中使用多个环境时,这非常有用。

将 API 转换为代码

邮递员允许将 API 请求转换为所有重要语言的代码,如 JavaScript、Golang、Java、PHP、Python 等等。

邮递员的好处

那些经常使用Postman的人将熟悉以下好处。 但是,这并不是此 API 测试工具的功能和特性的详尽列表。 让我们来看看Postman的一些主要好处。

自动化 API 测试

这是Postman的第一个也是最明显的好处。 该工具允许你自动执行 API 测试,并将集合与 CI/CD 管道集成。 正如我们上面提到的,API测试使用JSON或XML格式,这与开发人员使用的应用程序框架或协议无关。 无论你使用什么框架(Python,JavaScript,Ruby等),Postman都支持它。 您可以自动执行单元测试、集成测试、回归测试和模拟测试。

平台和操作系统兼容

Postman适用于Mac OS X,Windows和Linux。 Postman网络应用程序也可用,并针对Chrome,Firefox,Edge和Safari进行了优化。

邮递员测试报告

它提供了一个测试报告,帮助我们通过请求生成器跟踪数据,您可以为测试运行生成HTML报告。

集成

邮递员提供支持,可以轻松地与所有主要开发人员工具集成,如 GitHub、Slack、Dropbox 和 GitLab。

定价

邮递员的所有主要功能都是免费的。 您可以免费获得上述所有好处。 也有支付计划为邮递员专业和邮递员企业为小型到大型企业。

邮递员的替代方案

斯瓦格

狂妄的标志

 

 

Swagger 是一个开源 API 规范,它就像用于 REST API 的 WSDL,用于定义 REST API 的结构(端点 URL、输入/输出模型、身份验证架构等)。 规范文件基于 JSON,文件扩展名为 JSON 或 YAML。 斯瓦格的一些关键亮点是:

  • 开源和免费,但是可能很难学习或查找问题的资源。
  • 斯瓦格在浏览器中表示 ABI。
  • 可以自动生成构建服务的文档。

索普伊

索普伊标志

 

 

 

SoapUI 允许用户快速轻松地测试 REST 和 SOAP API,因为该工具是专门为测试 API 而创建的。 SoapUI 有助于测试复杂的 Web 服务组合,如 RESTful、SOAP、JSON 和 AMF。 但是,您需要利用 WSDL 来测试 Web 服务。 此外,为了实现自动化,需要大量的脚本编写,对于没有这种体验的用户来说,它可能变得困难和耗时。 肥皂UI的一些关键亮点是:

  • 点击功能有助于使 JSON 和 XML 可用性更加容易。
  • 从 Excel、文件、数据库等加载数据。
  • 将功能测试用例重新用作负载测试。
  • 与第三方 API 管理平台集成,支持 REST、SOAP、JMS 和 IoT 等。

将邮递员集合测试集成到 CI/CD 管道中

持续集成 (CI) 是一种开发实践,要求开发人员定期将代码合并到共享存储库中。 它涉及每次将新的更改提交到源代码时自动生成和测试应用程序的过程。 持续开发可以解释为一系列步骤,这些步骤需要按顺序执行,以使应用程序能够运行在专用服务器上并满足其服务用户请求的用例。

使用 LoadView 加载测试邮递员集合

每当我们测试一个回端应用程序时,测试功能都是流程的标准部分,以确保事情能够像我们预期那样工作。 现在,一切都很好,但对现实世界来说却并非如此。 您的应用程序将被许多(如果不是数百或数千个用户)同时使用,因此我们还需要执行性能测试,以查看它们对流量的保持性如何。 我们需要对应用程序进行基准测试和验证,每次应用程序更改。 正如我们已经看到的 Postman 的概述,其功能以及如何为 API 功能测试设置测试策略,我们需要了解有助于对应用程序进行压力测试的工具。

如果我们使用 Postman 测试 Web API 功能,并希望从我们的 API 呼叫集合中生成负载测试,我们可以选择专门的负载测试工具,如 LoadView。 LoadView 为 API 以及 Web 应用程序(外部和内部)以及网站和服务器提供真正的基于浏览器的负载测试。

测试设置

我们将逐步研究如何为邮递员集合设置 Web 应用程序负载测试。

LoadView 邮递员 API 测试:步骤 1

在我们开始前,我们需要导出邮递员收藏。 我们可以选择”获取公共”链接的选项,并可以轻松地将其导入 LoadView(注意:确保 Postman 集合仅使用局部变量,因为环境变量不存储在集合中)。

邮递员集合导出

LoadView 邮递员 API 测试:步骤 2

打开 LoadView 平台并选择” 创建新负载测试 “。

LoadView 邮递员 API 测试:步骤 3

在这里,您将看到 LoadView 中提供的各种负载测试类型 – Web 应用程序、网站和 API。 对于我们的用例,我们将选择邮递员集合选项来启动 API 测试。

负载测试类型邮递员

LoadView 邮递员 API 测试:步骤 4

一个新的窗口将打开,这里是我们需要进口出口邮递员收集和点击 创建设备

邮递员收集请求

LoadView 邮递员 API 测试:步骤 5

一旦我们成功创建了一个设备,我们将看到 测试方案 屏幕,在那里我们可以设置负载 类型,这将因测试的目标而异。

  • 基于负载的曲线。 这是执行负载测试与已知数量的用户和提高流量后设置热身时间。
  • 基于目标的曲线。 当我们为特定 API 查找所需的每秒事务数并希望扩展到所需的并发用户时,将使用此测试设置。
  • 基于动态的曲线。 此集允许您在用户数、最大用户数和测试持续时间中选择动态值,并可在测试期间实时更改。

邮递员集合加载类型

LoadView 邮递员 API 测试:步骤 6

一旦我们创建了一个包含所有 API 列表的测试方案,我们现在就可以为 API 执行负载和压力测试了。 成功完成负载测试运行后,将向您展示报告 、仪表板和指标,显示 我们的 API 和系统在负载下的表现。

邮递员集合负载测试集成与詹金斯

正如我们已经研究过如何使用 LoadView 集成和运行 Postman 收集负载测试一样,我们可以将这些测试添加为 CI/CD 的一部分,以获得定期反馈和性能结果。 LoadView 还提供与 Jenkins 的集成,帮助压力测试网站、Web 应用程序和 API,同时在完全托管的云中与实际浏览器进行连接。 任何新的更新或附加功能也可以加载测试与负载视图插件詹金斯。

让我们来看看以前创建的 LoadView 中的邮递员集合测试场景及其与 Jenkins 集成的步骤。

第 1 步. 为了将测试与 Jenkins 集成,我们将使用上面创建的相同 Postman 测试方案。

步骤 2. 创建唯一的 UID。 这将用作集成到 Jenkins 中的安全令牌。 复制集成 UID。

邮递员詹金斯集成 UID

步骤 3. 我们的邮递员集合的测试场景 ID 可以在场景设置页面或测试 历史记录 页面(测试经理 > 测试操作菜单 > 历史记录)上找到。

邮递员集合测试历史记录

詹金斯的 LoadView 插件

要配置 LoadView 插件,请按照以下步骤操作:

  1. 登录您的 Jenkins 帐户。
  2. 在 Jenkins 中,转到凭据 > 添加凭据 > LoadView 安全令牌 (UID)。 配置和验证凭据。
  • 善良。 LoadView 安全令牌 (UID)。
  • 范围。 选择 全局
  • ID. 保留默认值或指定唯一 ID。
  • 描述. 指定唯一的说明以区分凭据。
  • UID. 从您的加载视图帐户粘贴负载测试网络API UID。 添加 UID 后,单击” 验证 UID” 以确保 Jenkins 可以访问 LoadView API。
  1. 接下来,选择作业并单击”配置“。

詹金斯 LoadView 安全令牌

  1. 转到生成Build > 生成后操作 > 添加生成后操作 > LoadView-Run 负载测试方案。 为生成指定 LoadView 压力测试设置:
  • 凭据。 使用说明选择 API 密钥。
  • 方案 ID。 粘贴要在生成中使用的测试方案 ID。 从 LoadView 中的方案页复制 ID。
  • 错误阈值。 指定在测试时出现错误的会话的可接受百分比(无法访问目标资源、未找到关键字/图像等)。 如果错误会话的百分比大于指定值,则生成将在 Jenkins 中标记为 失败。
  • 平均时间。 指定测试执行 期间测量的平均 响应时间限制。 如果达到限制,则生成将在 Jenkins 中 标记为 失败。
  1. 单击”保存”。

查看 LoadView 测试结果

最后,我们已经成功地将我们的邮递员收藏与 Jenkins 集成了,使用 LoadView 作为平台。 当我们的压力测试运行时,状态以实时模式 显示在 Jenkins 控制台输出中。

邮递员詹金斯控制台输出

 

邮递员詹金斯 LoadView 测试结果结果

监控邮递员收集测试

LoadView 是 Dotcom 监控平台中众多解决方案的一部分。 Dotcom-Monitor 还为邮递员收藏提供了简单的监控工具。 如果我们有一组集成测试用于与 Postman 进行内部 API 测试,并且我们还希望将测试设置为从本地网络外部运行,我们可以将 Postman 测试上载到 Dotcom-Monitor。 使用Dotcom-Monitor邮递员收集任务,我们可以创建自动监控测试与 错误警报。 我们可以指定监视位置、监控调度程序、筛选器,并基于监控结果设置报告。

添加的 HTTP 请求集合将以定义频率重复执行,以执行对目标 Web API 的呼叫序列。 因此,我们将为 Postman 中的请求指定的断言,这将有助于验证 API 响应。 如果未满足断言设置的任何条件,任务将标记为失败。

使用邮递员加载测试 API:最终想法

开发社区对测试 API 的看法大相径庭。 我们已经看到邮递员如何帮助我们如此轻松地创建、维护和测试 API。 我们还查看了一个分步指南,了解如何使用 LoadView 模拟并发用户加载测试 Postman 集合。 最后,我们已经研究了如何使用 Jenkins 与 LoadView 的集成来自动执行此步骤。 强调这些应用程序所需的工具最近得到了简化,它提供了巨大的帮助,测试依赖于内部和外部应用程序的复杂系统。 它帮助我们更清楚地发现瓶颈和问题。

立即开始使用 LoadView 测试 API。 注册免费试用,并 获得 20 美元的负载测试积分。 或者与我们的性能工程师一起注册参加我们的私人演示。 我们的工程师将引导您通过完整的 LoadView 平台,并向您展示如何将 LoadView 集成到邮递员系列中,并与 Jenkins 自动实现步骤自动化。