测试开源系列之Insomina,一个支持plugin的API测试工具
引言
说到API测试工具,大家首先想起的肯定是Postman。其实业界的API测试工具非常多,但是当年Postman作为免费的API工具,其易用性和免费性得到了广大用户的喜欢。但是随着其商业化进程的推进,它已经逐步的在削弱其免费功能,比如最近Postman官方博客就发布了要取消离线免费的功能Scratch Pad,它可以以一个项目工程的方式来管理API的Request、Collection、Environment。取而代之的是商用版本中的Workspace。
其次Postman只开源了其Runtime,Collection Format和SDK,并没有开源Postman这个工具,甚至不支持plugin,所以Postman的功能扩展只能依靠Postman公司,所以Postman并不是真正意义上开源的API测试工具。今天我们就来了解一款真正意义上的开源API测试工具-Insomina,并且还支持强大的Plugin,即插件系统。
初见Insomina
Insomnia 是一款流行的开源HTTP API测试工具,用于测试、调试和文档化 HTTP API。无论你是前端开发、后端开发、测试人员还是 API 设计者,Insomnia 都提供了一套强大的功能,帮助你更轻松地管理和开发 API。它具有以下功能:
- 跨平台支持: Insomnia 支持多个操作系统,包括 Windows、macOS 和 Linux。这意味着你可以在自己喜欢的操作系统上使用它。
- 友好的用户界面: Insomnia 提供了直观的用户界面,使你可以轻松地创建和管理多个 API 请求。界面清晰明了,让你能够快速上手。
- 多种请求类型: 无论是 HTTP 还是 HTTPS,还是其他自定义协议,Insomnia 都支持多种请求类型。它允许你创建 GET、POST、PUT、DELETE 等各种请求,以及自定义请求头、参数等。
- 请求和响应历史: Insomnia 记录你的请求和响应历史,使你能够轻松查看以前的交互。这对于排查问题和理解 API 行为非常有帮助。
- 环境变量和全局参数: 你可以定义环境变量和全局参数,以便在不同的环境中使用。这对于在开发、测试和生产环境之间切换非常有用。
- 自动补全和语法高亮: Insomnia 提供了请求参数和响应的自动补全功能,以及请求脚本和测试脚本的语法高亮。
- 导入和导出功能: 你可以将请求、环境变量和设置导出为文件,或从文件导入,以便与团队共享或备份。
- API 文档生成: Insomnia 允许你为每个请求编写文档,你可以生成清晰易懂的 API 文档,这对于团队合作和开发者交流非常有帮助。
- 团队协作: Insomnia 提供了团队协作功能,让团队成员可以共享 API 请求、环境和文档。
- 插件支持: Insomnia 支持插件,可以通过插件扩展其各种功能,包括图形界面上的功能。这使得你可以根据需要集成其他工具和服务。
由此可见,Insomina基本上就是Postman的开源版本,虽然它功能上没有Postman多,比如界面上没有Pre-request Script功能,但是它提供的Plugin却可以的实现类似Pre-requet Script,并且还能实现其他很多特定的扩展功能。并且Insomnia官方提供了一个插件市场Plugin Hub,用来发布官方和社区开发的各种插件。
插件系统
Insomnia 的插件系统是该工具的一个重要特性,它允许用户通过添加插件来扩展和定制 Insomnia 的功能。插件可以增加新的功能、集成第三方服务,或者改进用户界面。
首先,Insomnia 提供两种插类型,分别是:
- Core 插件: 这些插件由 Insomnia 的核心开发团队维护,并与 Insomnia 一同分发。它们可以提供更高级的功能,如自动同步、Swagger 导入等。
- Community 插件: 这些插件由社区开发人员创建并共享。社区插件能够扩展 Insomnia 的功能,以满足更多个性化的需求。
其次,Insomnia 插件系统提供一下功能:
- API 测试和验证: 插件可以添加额外的验证器,用于检查 API 响应的正确性和合规性。
- 自动化任务: 插件可以执行一些自动化任务,如自动生成请求参数、生成测试数据等。
- 数据转换: 插件可以实现数据格式转换,将响应数据转换为不同的格式,比如 JSON 到 XML。
- 集成第三方服务: 插件可以与其他服务集成,如数据库、监控系统等。
- 自定义界面: 插件可以改变 Insomnia 的用户界面,以适应特定需求。
- 导出和导入: 插件可以添加导出和导入功能,以便与其他工具和平台集成。
然后,让我们来概述一下开发Insomnia插件的步骤:
1.官方文档:官方提供了详细的插件开发文档,包括插件的结构、API 和示例代码。
2.编写插件:你可以使用 JavaScript 或 TypeScript 来编写插件。
3.调试和测试:开发过程中,你可以使用 Insomnia 的开发环境来调试和测试插件。
4.分享插件:一旦你开发完成,你可以将你的插件发布到 Insomnia 的插件市场Plugin Hub,供其他用户使用。
(后面我会提供一个视频来讲解如何编写Insomina的插件的详细步骤)
最后,Insomnia 的插件系统为用户提供了丰富的定制和扩展功能。通过插件,你可以添加新的功能,集成第三方服务,或者改进界面体验。你可以从官方提供的核心插件开始,或者探索社区插件来满足你的特定需求。如果你有开发经验,你甚至可以创建自己的插件,以适应个人或团队的需要。插件系统使 Insomnia 成为一个灵活且强大的 API 调试和文档工具。
未来可期
Insomnia 是一款功能丰富的 API 调试和文档工具,具有直观的用户界面、多种请求类型支持、环境变量管理、自动补全、插件支持等特点。
它能够帮助开发和测试人员更高效地测试、调试和文档化 API,提升团队的开发效率和协作能力。特别是对于大型复杂项目,并且需要深度定制好API测试工具的团队,Insomina会是一个非常好的选择。