开源免费的API测试工具

1. 概述

Application Programming Interfaces (API) 是软件组件之间的接口规范。大多数的功能测试包含了Web页面测试或.net表单类的用户界面测试,而API测试绕过了用户界面通过调用API接口与应用程序直接进行通信。

API 自动化测试是一种使用自动化工具来测试 API 的方法。它可以帮助开发人员快速准确地测试 API 的功能、性能和可靠性,从而提高开发效率和产品质量。

2. 测试步骤

1. 设计测试用例:根据 API 的功能和需求,设计测试用例,包括输入数据、预期输出和测试条件等。

2. 编写测试脚本:使用自动化测试工具,编写测试脚本,以执行测试用例。

3. 执行测试脚本:使用自动化测试工具,执行测试脚本,验证 API 的功能是否正确。

4. 分析测试结果:分析测试结果,包括测试用例的通过率、错误率和性能指标等,以确定 API 是否满足要求。

5. 修复缺陷:如果测试结果不满足要求,需要修复缺陷,并重新执行测试用例,直到 API 满足要求为止。

3. 产品

3.1. API Testing

API Testing 一个基于 YAML 文件的开源接口测试工具,同时支持运行在本地、服务端。同时提供简单、高级两种模式的返回值断言,还包括 JSON Schema 以及针对 Kubernetes 资源的校验判断。

3.2. Apache JMeter

Apache JMeter 是一个开源免费功能、性能测试软件。可以测量静态和动态Web应用程序的性能和负载。还可用于模拟服务器、服务器组网络或对象,以测试其强度或分析不同负载类型下的整体性能。并支持生成一个完整的动态HTML报

3.3. ApiDebug

ApiDebug 是一个浏览器HTTP接口测试插件,可以用来测试 HTTP、HTTPS接口。支持POST、GET 等方式,同时也支持 json、xml 等自定义接口参数。系统支持保存历史记录,也可同步测试接口至 CrapApi 接口管理系统(登陆 http://api.crap.cn ,点击同步即可保存)。除接口测试外,系统还包含 json 格式化等小工具。

3.4. AutoTestPlat

AutoTestPlat 一款国产开源自动化测试平台,涵盖接口测试、性能测试、App UI 测试、Web UI 测试等功能。

3.5. Hitchhiker

Hitchhiker 是一款开源的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部署到本地,和你的team成员一起管理 Api。

3.6. Hoppscotch

Hoppscotch 原名 postwoman,是一款轻量级、基于 NodeJs 编写的 API 接口测试工具。不仅支持支持主流的 Restful 接口调试,还支持 GraphQL和 WebSocket。

Hoppscotch 设计初衷的是为了帮助开发人员更快地创建请求,节省宝贵的开发时间,提升工作效率。可作为收费的 Postman 替代方案,界面美观且易使用。

3.7. HttpRunner

HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

3.8. K6

K6 是一个负载和性能测试工具,用于测试云原生应用程序。K6提供了各种插件,便于轻松地将K6集成到现有的技术栈中。k6通过自定义测试场景执行不同类型的负载测试,如:峰值测试、冒烟测试、浸泡测试等。您还可以使用k6浏览器模块对前端服务执行负载测试。

3.9. Postcat

Postcat 是一个可扩展的 API 工具平台。Postcat 集合基础的 API 管理和测试功能,并且可以通过插件简化你的 API 开发工作,让你可以更快更好地创建 API。

Postcat 是一个强大的开源、跨平台(Windows、Mac、Linux、Browsers…)的 API 开发测试工具,支持 REST、Websocket 等协议(即将支持 GraphQL、gRPC、TCP、UDP),帮助你加速完成API开发和测试工作。

3.10. Selenium

Selenium 是一个Web应用程序的自动化测试工具。它封装了各种工具和 支持Web浏览器自动化的库。它能够模拟用户与浏览器交互,支持用代码实现 W3C WebDriver规范 与大部分浏览器进行交互。

Selenium的核心是WebDriver, 一种用于编写指令集的接口,通过编写几行代码执行这些指令集就可以可以控制许多浏览器动作。

3.11. SoapUI

SoapUI 是一个开源的API测试自动化框架。它通过soap/http协议来检查、调用、实现对Web服务的功能测试、负载测试、功能符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。把一个或多个测试套件(TestSuite)组织成项目,每个测试套件包含一个或多个测试用例(TestCase),每个测试用例包含一个或多个测试步骤,包括发送请求、接受响应、分析结果、改变测试执行流程等。

3.12. TarsBenchmark

TarsBenchmark 是一个用于测试微服务的工具。是专门为tars服务量身订做的接口和压测工具,可以集成到到 TARS microservices 框架。

3.13. Testcontainers

Testcontainers 是一个开源测试框架,用于测试基于Docker容器的数据库、消息代理、Web浏览器等一次性轻量级实例。不需要模拟复杂的环境配置,只需要用代码定义测试依赖,然后运行测试,就可以创建或者删除容器。

3.14. Tsung

Tsung 是一个负载和压力测试工具。支持多协议分布式负载测试,支持的协议包括:HTTP、WebDAV、SOAP、 PostgreSQL、MySQL、LDAP、MQTT、AMQP和Jabber/XMPP。可以用来测试基于C/S架构的应用程序。

稿源:https://zhuanlan.zhihu.com/p/672881565