Postman 压力测试教程



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

Postman是测试工具领域中广受好评的工具,用于验证API请求。虽然Postman被广泛用于一般API测试,但使用Postman进行负载测试并不是那么简单。

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

什么是Postman?

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

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

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

但Postman不仅限于开发。它还能像浏览器一样发送请求并接收响应。此外,您可以添加脚本,在发送请求前和接收响应后运行,从而更好地控制API交互。请求可以保存到集合中,以便在需要时按特定顺序执行,使工作流程更有组织。

在API测试方面,Postman是确保一切按预期工作的极佳工具。它有助于验证API是否正确检索、保存和更新数据,是功能测试的关键部分。然而,需要注意的是,Postman并非为性能测试设计。虽然它可以进行小规模测试以检查响应时间,但无法模拟真实流量或高负载。因此,如果需要评估API在压力下的表现,需使用专门的负载测试工具。

对于更深入的性能测试,您需要像LoadView这样的专业负载测试工具。LoadView能够模拟真实环境,帮助您对API进行压力测试,收集全面的指标,确保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对象表示法)模式可用于定义请求和响应的结构。这有助于组织和结构化JSON内容,提高其在Postman中的清晰度和可读性。
  • 使用环境和动态变量 – 在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。

 

使用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中,进入凭证 > 添加凭证 > LoadView安全令牌(UID),配置并验证凭证。
    • 种类 – LoadView安全令牌(UID)。
    • 范围 – 选择全局
    • ID – 保持默认或指定唯一ID。
    • 描述 – 指定唯一描述以区分凭证。
    • UID – 粘贴您LoadView账户中的负载测试Web API UID。添加UID后,点击验证UID确保Jenkins可以访问LoadView API。
  3. 接下来,选择一个任务并点击配置。
Jenkins LoadView Security Token

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

  • 凭证 – 选择带有描述的API密钥。
  • 场景ID – 粘贴您要在构建中使用的测试场景ID。从LoadView场景页面复制ID。
  • 错误阈值 – 指定测试期间出现错误(无法访问目标资源、未找到关键字/图片等)的会话的可接受比例。如果错误会话比例超过该值,Jenkins将标记构建失败。
  • 平均时间 – 指定测试执行期间的平均响应时间限制。如果达到该限制,Jenkins将标记构建失败。

5. 点击保存

查看LoadView测试结果

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

Postman Jenkins Console Output
Postman Jenkins LoadView Test Performance Results

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

本指南介绍了如何借助LoadView模拟并发用户,使用Postman集合进行负载测试,以及如何通过Jenkins与LoadView集成实现测试自动化。近年来,评估基于内部和外部应用构建的复杂系统所需的工具得到了简化,极大地帮助了测试流程。这种简化助力更清晰地识别瓶颈和问题。

LoadView致力于成为您所有负载测试工作的合作伙伴,支持您在每个开发阶段应对各种复杂程度。负载测试无需复杂,LoadView平台使API负载测试过程变得简单。您可以无缝将Postman集合与LoadView集成,执行负载测试。

LoadView的专家团队随时为您和您的团队提供支持,帮助制定和完善负载测试策略。我们的平台操作直观,即使非技术人员也能轻松使用。LoadView提供真实浏览器测试、点选脚本和全面易读的报告,消除负载测试中的不确定性,促进开发人员之间的有效协作。

今天就开始使用LoadView进行API负载测试吧。注册免费试用并获取免费负载测试。或预约我们的私人演示,我们的性能工程师将带您全面了解LoadView平台,并展示如何将LoadView集成到Postman集合中,及如何使用Jenkins自动化操作。

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

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