使用 SoapUI 进行 REST API 接口测试详解
SoapUI 工具介绍

SoapUI 是业界知名的 API 测试工具,广泛用于 SOAP 和 REST 接口的自动化测试。其直观的图形用户界面使得测试人员能够高效地创建、管理和执行各类 Web 服务测试。无论是功能验证、性能测试还是复杂场景的模拟,SoapUI 都提供了强大且可靠的支持。
测试接口准备
我们首先在 Swagger 文档中预先定义一组待测的 REST 接口。这些接口代表了即将发布的功能模块,我们将利用 SoapUI 对其进行全面的功能验证。

以 /pet/findByStatus 接口为例,我们为其配置了查询参数(Query Parameter)。这是一个典型的 GET 请求,常用于根据状态筛选数据,在 RESTful 架构设计中非常普遍。

在 SoapUI 中创建接口测试项目
第一步,在 SoapUI 中新建一个 REST 项目(REST Project)。这里需要理解 SoapUI 的项目结构:一个项目(Project)相当于一个测试套件(TestSuite),其下可以包含多个测试用例(TestCase)。这种层级化的管理方式,非常适合于组织和管理复杂的多接口测试任务。


配置 SoapUI 接口请求参数
创建项目后,需要补充接口的具体请求信息,主要包含以下四个核心要素:
- endpoint: 目标服务的根地址
- source: 具体的资源路径
- method: HTTP 请求方法(例如 GET、POST、PUT、DELETE)
- parameters: 请求所需的参数,包括查询参数、路径参数或请求体
执行请求并查看响应
所有配置完成后,即可发送请求。SoapUI 会在右侧面板中清晰展示服务器返回的 JSON 响应数据,并自动进行格式化,使数据结构一目了然,便于分析验证。

Apifox 自动化测试实战
除了 SoapUI,Apifox 也是一款功能强大的国产 API 全流程协作工具。它集成了以下关键特性:
- 接口自动化测试
- 智能 API 文档生成
- 实时调试功能
- 动态 Mock 服务器
- 强大的断言验证
- 免费使用
本文将重点解析其自动化测试功能的具体应用。
测试目标设定
本次自动化测试的核心目标是验证项目中的所有接口是否均能正常响应,即 HTTP 状态码返回 200。状态码 200 是请求成功的标志,是接口健康度的基础指标。
待测接口清单
我们在本地启动后端服务,并准备了以下三个测试接口:
- /api/test/list-first
- /api/test/list-second
- /api/test/list-thrid
预期结果:这三个接口在请求时必须全部返回状态码 200,方视为测试通过。
在 Apifox 中创建并配置接口
配置接口基本信息
首先,填写接口的基本信息,包括接口名称、完整的请求 URL 以及对应的 HTTP 方法。这是定义一次请求的基础。

使用后置脚本添加可视化断言
接下来,利用 Apifox 提供的可视化断言功能。该功能极大地简化了断言配置的复杂度,无需编写代码即可设置验证条件。

我们的断言目标是判断响应体中 `code` 字段的值是否为 200。通过使用 JSON Path 表达式,我们可以精准地定位并提取该字段的值进行比对。

配置完成后,Apifox 会在每次收到接口响应时自动执行断言逻辑,智能验证结果是否符合预期。
配置剩余接口
依照相同的步骤,完成对另外两个接口(second 和 third)的创建与断言配置。
执行单接口调试
在启动批量自动化测试之前,建议先对单个接口进行一次手动调试发送,以确保基础配置正确无误。单次调试成功是进行后续自动化测试的前提。

创建自动化测试用例
接下来,新建一个自动化测试用例,为其命名并选择存放目录。

将之前已配置好的三个接口全部导入到这个测试用例中,形成一个测试序列。

关键步骤:设置测试循环次数为 200 次。这意味着每个接口都会被执行 200 次,总计发送 600 个请求。通过高并发、多次数的重复测试,可以有效暴露接口在高负载或持续运行下的稳定性问题。

运行并查看自动化测试报告
点击“运行”按钮,启动自动化测试。在测试执行过程中,可以实时监控运行进度和即时结果。测试报告会详细记录以下核心指标:
- 进度: 以百分比显示执行完成度
- 成功数: 通过断言的成功请求数量
- 失败数: 未通过断言的失败请求数量

Apifox 工具总结
综上所述,Apifox 是一款先进的、一体化的 API 开发与测试平台。其核心优势在于整合了 API 设计、开发、调试、Mock 和自动化测试的全生命周期管理功能。可以形象地理解为:Apifox = Postman(接口调试) + Swagger(文档管理) + Mock(数据模拟) + JMeter(性能测试)。这种集成化的设计极大地提升了团队协作效率和 API 项目的交付质量。
