fbpx

API 集成在当今使用的许多 Web 服务中,允许系统来回发送和通信各种信息。 因此,它们是关键服务之间的强大联系。 与系统的任何重要部分一样,有必要测试它们。 使用第三方 API 测试解决方案(Postman)我们可以同时执行手动测试和自动测试。 API 代表应用程序编程接口。 它是一个软件到软件接口。 使用 API 时,应用程序彼此交谈,无需客户端干预。 但是,随着数千个 API 的可用,Postman 开始创建、测试、共享和管理这些 API,使 API 使用效率更高,而且不那么繁琐。

本文将帮助了解邮递员,收藏,其突出的特点,以及如何设置加载测试邮递员集合,并它与CI/CD管道与负载 视图的集成

 

什么是邮递员?

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

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

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

邮递员不仅为我们提供了使用 API 的环境,还可用于请求浏览器等网页。 在地址栏中输入 URL 并点击发送以查看 HTML 响应。 Postman 还可以帮助在用户发送请求之前和获取响应后追加脚本。 我们可以将每个请求存储在集合中,以后可以使用集合按顺序运行所有请求。

 

什么是 API 测试?

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

如果我们知道 API 应该执行特定操作,如更新数据、获取数据、删除数据、更改数据,则测试应检查这些操作的结果。 它的行为和它应该的一样吗? 什么时候不该发生呢? 结果是什么,你会期望它是什么? API 测试通常是黑盒测试,但只要我们有权访问 API 操作的结果,并且我们事先知道需要验证的预期响应。

 

邮递员的特点

 

导入请求

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

 

多个协议和技术支持

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

 

编写测试用例

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

 

集合

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

 

JSON 架构验证

我们可以使用 JSON 架构来定义其请求和响应的结构。 它有助于美化和结构JSON,使其易于理解和阅读邮递员。

 

使用环境和动态变量

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

 

将 API 转换为代码

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

 

邮递员的好处

 

自动测试

邮递员让我们自动执行 API 测试,并将集合与 CI/CD 管道集成。 作为此测试的一部分,我们可以自动执行单元测试、集成测试、回归测试和模拟测试

 

平台和操作系统兼容

邮递员在 Mac、Windows、Linux 和 Chrome 上提供,支持所有主要操作系统。

 

邮递员测试报告

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

 

集成

Postman 提供支持,可以轻松地与所有主要开发人员工具(如 Github、Slack、Dropbox 和 Gitlab)集成。

 

定价

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

 

邮递员的替代方案

 

斯瓦格

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

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

 

索普伊

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

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

 

 

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

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

我们可以集成 Postman 集合 API,以便使用 Newman 在我们的持续集成/持续开发环境中运行,Newman 是一个命令行工具,它允许我们在服务器或本地环境中运行邮递员集合。 要集成,我们需要一个集合 UID 和邮递员 API 密钥。 我们可以使用单个命令运行邮递员集合,如下所示:

纽曼https://api.getpostman.com/collections/运行 {collection_uid} {postman-api-key-here} [? apikey]

 

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

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

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

 

测试设置

我们将逐步了解如何为 Postman 集合设置 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 中以前创建的 Postman 集合测试场景所用的步骤及其与 Jenkins 的集成。

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

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

邮递员詹金斯集成 UID

 

步骤 3. 我们的邮递员集合的测试方案 ID 可以在方案设置页或测试的历史记录页(测试管理器History > 测试的操作菜单历史记录) > 找到。

邮递员集合测试历史记录

 

詹金斯的 LoadView 插件

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

  1. 登录您的 Jenkins 帐户。
  2. 在 Jenkins 中,转到凭据 > 添加凭据 > LoadView 安全令牌 (UID)。 配置和验证凭据。
  • 善良。 LoadView 安全令牌 (UID)。
  • 范围。 选择 全局
  • ID. 保留默认值或指定唯一 ID。
  • 描述. 指定唯一的说明以区分凭据。
  • UID. 从 LoadView 帐户中粘贴负载测试 Web 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 的看法大相径庭。 我们已经了解了 Postman 如何如此轻松地帮助我们创建、维护和测试 API。 我们还查看了一个分步指南,了解如何使用 LoadView 模拟并发用户加载测试 Postman 集合。 稍后,我们将了解如何使用 Jenkins 与 LoadView 的集成来自动执行此步骤。 强调这些应用程序所需的工具最近得到了简化,它提供了巨大的帮助,测试依赖于内部和外部应用程序的复杂系统。 它帮助我们更清楚地发现瓶颈和问题。

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