Postman 负载测试教程



如今,许多网络服务都集成了API(应用程序编程接口),使得系统之间能够交换各种信息。API作为关键服务和用户之间的强大连接纽带。像测试任何重要的系统组件一样,评估API也是必不可少的。使用第三方API测试工具如Postman,可以实现手动和自动测试,并且支持API监控功能。

Postman 是测试工具领域广受好评的工具,用于验证API请求。尽管它在通用API测试中的应用广泛,使用Postman进行负载测试则并非那么简单。

在本Postman负载测试教程中,我们将介绍Postman是什么、Postman负载测试以及如何使用Postman进行负载测试,以便你能开始使用Postman进行负载测试。

什么是Postman?

Postman是一款广泛使用的工具,帮助开发者在协作且易用的环境中测试、设计和管理API。通过Postman,开发者可以轻松创建、发送和测试HTTP请求,尤其是针对RESTful API。它支持多种HTTP方法、认证类型,并允许组织和自动化API测试工作流,使其成为API开发过程中不可或缺的工具。Postman常用于基于API驱动的环境中,这些环境的服务分布在微服务和云平台上。如今,Postman也广泛应用于包含微服务、容器化应用和云原生架构的现代API生态系统,使API验证成为开发工作流程的关键部分。

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

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

但Postman不仅仅用于开发。它还可以像浏览器一样发送请求和接收响应。此外,你还可以添加脚本,在发送请求前和接收响应后运行,赋予你对API交互的更多控制。请求可以保存到集合中,以便你在需要时按特定顺序执行,使你的工作流程更有序。

在API测试方面,Postman是确保一切按预期工作的极佳工具。它帮助验证API是否正确地检索、保存和更新数据,是功能测试的重要部分。然而,需要记住的是,Postman并非为性能测试设计。尽管它可以运行小规模测试以检查响应时间,但它无法模拟真实世界的流量或高负载。因此,如果你需要查看API在高压下的表现,就需要使用专门的负载测试工具。

对于更深入的性能测试,你需要像LoadView这样的专业负载测试工具。LoadView等工具可以模拟真实条件,帮助你进行压力测试并收集全面的指标,确保API能够应对高流量和重度使用。这对于保证API在各种情况下良好表现至关重要,而不仅仅是在受控的测试环境中。

Postman功能

Postman为用户提供了丰富的功能,从Postman API和工作流控制到内置的回归测试监控器,确保全面的API测试能力。尽管功能众多,但有几项核心功能对每个API测试者来说都是必备的。让我们深入探讨这些关键功能。
 

  • 导入请求 – Postman包含导入功能,允许用户粘贴原始CURL文本,将其转化为格式化请求,包含请求URL、头信息、请求体、查询参数和授权令牌等详细信息。
  • 多协议支持 – Postman的API客户端支持发送REST、SOAP、WSDL和GraphQL请求。
  • 编写测试用例 – 你可以编写测试用例来执行API并帮助响应验证,包括对JSON/XML响应的断言和响应码的验证。
  • 集合 – Postman支持创建集合,允许在文件夹结构中组织API以适应不同项目。它支持执行集合,即一次运行该集合中的所有API。
  • JSON模式验证 – JSON(JavaScript对象表示法)模式可用于定义请求和响应的结构,有助于在Postman中组织和结构化JSON内容,提高其清晰度和可读性。
  • 使用环境和动态变量 – 在Postman中,你可以创建变量,并为这些变量赋予不同的值,这在处理多个实际环境中的相同API时非常有用。
  • API转换代码 – Postman允许将API请求转换为所有主流语言的代码,如JavaScript、Golang、Java、PHP、Python等。

Postman负载测试的好处

  • 性能评估:负载测试帮助评估API在不同并发用户活动水平下的性能。它使你了解系统如何处理增加的负载,以及是否达到性能预期。
  • 可扩展性测试:Postman的负载测试功能允许测试API的可扩展性,帮助判断它在流量和数据增长时的处理能力。
  • 识别瓶颈:负载测试有助于发现API基础设施中的潜在瓶颈或弱点。这些信息对优化和微调系统至关重要,确保高效处理增加负载。
  • 压力测试:Postman允许通过生成高负载模拟压力状况。帮助你了解系统的极限和限制,从而进行必要改进。
  • 并发测试:Postman中的负载测试使你能够测试多用户同时请求时API的表现,对于预期承载并发用户交互的应用尤为重要。
  • 成本效益:通过在开发早期识别和解决性能问题,使用Postman负载测试有助于节省成本,避免生产环境中潜在的停机或昂贵修复。
  • 改善用户体验:确保API能处理高负载且在压力下表现良好,为用户提供更流畅、更可靠的体验。

使用Postman进行负载测试的局限性

虽然Postman在API测试和开发方面表现优异,但在负载测试方面存在局限性。一个主要缺点是,它无法有效模拟大量并发用户或复杂场景。Postman主要关注功能测试和验证,而非在压力条件下的性能表现。此外,与专门的负载测试工具如LoadView相比,其图形界面和脚本功能在面对巨量负载或复杂性能指标分析时扩展性较差。对于全面的负载测试需求,建议使用专为负载测试设计的专业工具,而非仅依赖Postman。

 

使用Postman REST/RESTFUL工具进行负载测试

测试后端应用时,功能测试是确保一切按预期工作的标准步骤。因为你的应用可能同时被许多甚至成百上千用户使用,所以我们还需要进行性能测试,观察它们对流量的承受能力。每次应用变更都需要进行基准测试和验证。

如果你使用Postman测试Web API功能,且需要从API调用集合生成负载测试,可以选择负载测试工具如LoadView。LoadView提供基于真实浏览器的API负载测试,同时支持Web应用(外部和内部)及网站和服务器

Postman负载测试设置

我们将一步步介绍如何为Postman集合设置Web应用负载测试。

步骤1

开始前,你需要导出Postman集合。你可以选择“获取公开链接”选项,方便导入到LoadView。

  • 注意:确保Postman集合仅使用本地变量,因为环境变量不会存储在集合中。
Postman Collection Export

步骤2

打开LoadView平台,选择新建负载测试。

 

步骤3

此处你将看到LoadView中可用的各种负载测试类型。

包括Web应用、网站和API。针对我们的用途,选择Postman集合选项开始API测试。

Load testing type Postman

步骤4

会弹出一个新窗口,此处需导入导出的Postman集合并点击创建设备

Postman Collection Request

步骤5

设备创建成功后,你会看到测试场景页面,可以设置加载类型。这根据测试目标不同而有所区别。

  • 基于负载的曲线。 该模式在设定的预热时间后,使用已知用户数量执行负载测试并增加流量。
  • 基于目标的曲线。 当目标是达到特定API的每秒事务数量并扩展到指定的并发用户时采用该配置。
  • 基于动态的曲线。 允许你选择用户数、最大用户数和测试持续时间的动态值,这些设置可在测试中实时调整。
Postman Collection Load Types

步骤6

创建包含所有API列表的测试场景后,你即可执行API的负载和压力测试。

测试运行结束后,你将获得详尽的报告、仪表盘及指标,显示API和系统在不同负载下的表现。许多团队还会将负载测试结果与可观察性平台关联,以监控高API流量期间的基础设施指标、数据库性能和服务依赖关系。

Postman集合负载测试与Jenkins集成

在了解Postman集合与LoadView的集成及执行后,我们可以将这些测试纳入CI/CD流水线,以获取持续反馈和性能结果。

LoadView与Jenkins无缝集成,支持通过真实浏览器并发连接从全托管云环境对网站、Web应用和API进行压力测试。LoadView的Jenkins插件支持对任何新更新或附加功能进行负载测试。

让我们看看之前在LoadView创建的Postman集合测试场景如何集成到Jenkins中的具体步骤。

步骤1

要将测试与Jenkins集成,你将使用上一节中的相同Postman测试场景。

步骤2

创建唯一UID并复制集成UID。此UID将作为安全令牌集成到Jenkins中。

Postman Jenkins Integration UID

步骤3

Postman集合的测试场景ID可在场景设置页面或测试历史页面找到(测试管理器 > 测试操作菜单 > 历史)。

Postman Collection Test History

Jenkins中的LoadView插件

配置LoadView插件的步骤如下:

  1. 登录Jenkins账户。
  2. 在Jenkins中,进入Credentials > Add Credentials > LoadView Security Token (UID),配置并验证凭据。
    • 类型 – LoadView安全令牌(UID)。
    • 范围 – 选择全局
    • ID – 保持默认或指定唯一ID。
    • 描述 – 指定唯一描述以区分凭据。
    • UID – 粘贴LoadView账户中的负载测试Web API UID。添加后,点击验证UID以确保Jenkins能访问LoadView API。
  3. 然后选择一个任务,点击配置
Jenkins LoadView Security Token

4. 进入构建 > 构建后操作 > 添加构建后操作 > LoadView-运行负载测试场景,指定构建的LoadView压力测试设置:

  • 凭据 – 选择对应描述的API密钥。
  • 场景ID – 粘贴你要用于构建的测试场景ID。可从LoadView的场景页面复制。
  • 错误阈值 – 指定测试期间出现错误会话的可接受百分比(如访问目标资源失败、未找到关键词/图片等)。如果错误会话百分比超过指定值,Jenkins会将构建标记为失败。
  • 平均时间 – 指定平均响应时间限制。如果测试期间达到该限制,构建将被标记为失败。

5. 点击保存

查看LoadView测试结果

最终,我们成功将Postman集合通过LoadView集成到Jenkins。压力测试运行时,状态会在Jenkins的控制台输出中实时显示。

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

总结:使用Postman进行API负载测试

本指南介绍了如何使用LoadView通过Postman集合模拟并发用户,以及如何利用LoadView与Jenkins集成实现自动化此步骤。近年来,评估应用所需的工具得到了简化,大大便利了测试依赖内外部应用的复杂系统。此简化有助于更清晰地识别瓶颈和问题。

在LoadView,我们致力于成为你负载测试工作的伙伴,在每个开发阶段支持你,处理任何复杂度。负载测试不必复杂,LoadView平台让API负载测试变得简单。你可以无缝集成Postman集合到LoadView执行负载测试。

LoadView专家团队可支持你及你的团队,帮助开发和提升负载测试策略。我们的平台直观易用,即使非技术用户也能轻松操作。LoadView提供真实浏览器测试、点点点击脚本和详尽易读报告,帮助消除负载测试中的猜测,并促进开发各职能间的有效协作。

立即使用LoadView开始对API进行负载测试。注册免费试用并获得免费负载测试。或报名参加我们的私密演示,由性能工程师全程讲解LoadView平台,并演示如何将LoadView集成到Postman集合及通过Jenkins自动化步骤。

将您的并发用户测试提升到
新高度

体验无限扩展的无与伦比的功能。无需信用卡,无需合约。