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 对象表示法)模式定义请求和响应结构,帮助组织和整理 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 负载测试设置
我们将逐步介绍如何为 Postman 集合设置 Web 应用负载测试。
步骤 1
开始之前,您需要导出 Postman 集合。您可以选择获取公共链接,方便导入到 LoadView。
- 注意:确保 Postman 集合只使用本地变量,因为环境变量不会存储在集合中。
步骤 2
打开 LoadView 平台,选择 创建新 负载测试。
步骤 3
此处您将看到 LoadView 中可用的各种负载测试类型。
包括 Web 应用、网站和 API。本用例中,选择 Postman 集合选项开始 API 测试。
步骤 4
将打开一个新窗口,您需要在此处导入导出的 Postman 集合并点击 创建设备。
步骤 5
设备创建成功后,您将看到 测试场景 界面,可以设置 负载类型,根据测试目标不同而异。
- 基于负载曲线:使用已知用户数执行负载测试,并在指定的预热时间后增加流量。
- 基于目标曲线:当目标是达到特定 API 的每秒事务数以及扩展到目标并发用户数时使用此配置。
- 动态曲线:允许您选择动态的用户数、最大用户数和测试持续时间,测试期间可实时调整设置。
步骤 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 集成。
步骤 3
Postman 集合的测试场景 ID 可以在场景设置页或测试历史页找到(测试管理器 > 测试操作菜单 > 历史)。
Jenkins 中的 LoadView 插件
配置 LoadView 插件,按以下步骤操作:
- 登录 Jenkins 账户。
- 在 Jenkins 中,进入 凭证 > 添加凭证 > LoadView 安全令牌(UID),配置并验证凭证。
- 类型 – LoadView 安全令牌(UID)。
- 范围 – 选择 全局。
- ID – 保持默认或指定唯一 ID。
- 描述 – 指定唯一描述以区分凭证。
- UID – 粘贴来自 LoadView 账户的负载测试 Web API UID。添加后单击 验证 UID,确保 Jenkins 能访问 LoadView API。
- 接下来,选择一个作业并点击 配置。
4. 进入 构建 > 构建后操作 > 添加构建后操作 > LoadView-运行负载测试场景,为构建指定 LoadView 压力测试设置:
- 凭证 – 选择带描述的 API 密钥。
- 场景 ID – 粘贴您在构建中要使用的测试场景 ID,从 LoadView 的场景页复制。
- 错误阈值 – 设定测试期间发生错误的会话百分比(无法访问目标资源、未找到关键词/图片等)的可接受值。若超过该值,Jenkins 将标记构建失败。
- 平均时间 – 设定测试执行期间测得的平均响应时间限制,超出将标记构建失败。
5. 点击 保存。
查看 LoadView 测试结果
我们已成功使用 LoadView 将 Postman 集合与 Jenkins 集成。压力测试运行时,Jenkins 的 控制台输出 实时显示状态。
总结:使用 Postman 进行 API 负载测试
本指南介绍了如何使用 LoadView 结合 Postman 集合模拟并发用户,以及如何通过 Jenkins 集成实现自动化。近年来,评估这些应用所需的工具已简化,极大助力于测试依赖内外部应用的复杂系统。这种简化帮助更清晰地识别瓶颈和问题。
在 LoadView,我们致力于成为您负载测试的合作伙伴,支持开发各阶段的任何复杂度。负载测试无需复杂,LoadView 平台让 API 负载测试变得简单。您可以无缝集成 Postman 集合以执行负载测试。
LoadView 的专家团队随时支持您和您的团队制定和完善负载测试策略,我们的平台即使是非技术用户也能轻松使用。LoadView 提供真实浏览器测试、点选脚本编写和全面易读的报告,消除负载测试中的不确定性,促进开发团队间有效协作。
立即使用 LoadView 开始您的 API 负载测试。注册免费试用,获得免费负载测试。或者预约我们的私密演示,由性能工程师全程带您体验 LoadView 平台,并展示如何将 LoadView 集成至 Postman 集合以及通过 Jenkins 实现自动化。
将您的负载测试提升到新的高度
新高度
体验无与伦比的功能和无限的可扩展性。无需信用卡,无需合同。