Insomnia 是一款功能强大的 API 设计、测试与调试工具,支持 REST、GraphQL、WebSocket 等多种协议。它以 现代化界面 和 丰富的团队协作功能 著称,适合开发者快速构建、测试和分享 API。

核心功能
1. 多协议支持与请求构建
-
REST/HTTP:直观的界面支持设置请求方法、URL、Headers、Query 参数和 Body(JSON、Form、XML 等格式),自动校验格式。 -
GraphQL:内置 GraphQL 编辑器,支持自动补全、语法高亮和变量管理,可直接测试复杂查询和变更。 -
WebSocket/MQTT:实时连接 WebSocket 或 MQTT 服务,发送和接收消息,支持消息历史记录和过滤。
2. 环境变量与配置管理
-
环境切换:定义不同环境(如开发、测试、生产)的变量(如 API 域名、认证 Token),一键切换,避免手动修改请求。 -
加密存储:敏感信息(如 API Key)支持加密存储,保障数据安全。
3. 测试与自动化
-
断言编写:使用 JavaScript 编写测试脚本,验证响应状态码、JSON 字段值等。例如: // 验证响应包含 "success" 字段且值为 true pm.test("Response is successful", () => { const json = pm.response.json(); pm.expect(json.success).to.be.true; }); -
批量运行:通过 Test Suites 批量执行请求,生成包含通过率、响应时间的详细报告。
4. 团队协作与版本控制
-
工作区(Workspaces):创建团队工作区,共享请求集合和环境配置,支持成员权限管理(只读、编辑)。 -
Git 集成:与 Git 仓库绑定,自动同步 API 变更历史,支持版本回滚和分支管理。
5. 设计与文档
-
API 设计:通过 Design Documents 创建 OpenAPI/Swagger 规范的 API 文档,支持可视化编辑和自动生成。 -
文档导出:将 API 文档导出为 HTML、PDF 或分享为可访问的链接,方便与非技术团队沟通。
典型使用场景
-
API 开发与调试 -
后端开发者快速验证接口逻辑,前端开发者基于 Mock 数据先行开发,减少联调等待时间。
-
-
GraphQL 接口测试 -
针对 GraphQL 服务编写复杂查询,例如:
query GetUser($id: ID!) { user(id: $id) { name email posts(limit: 5) { title createdAt } } } -
-
实时通信服务测试 -
测试 WebSocket 服务(如实时聊天、股票行情推送),监控消息收发和连接状态。
-
-
团队协作与知识共享 -
将常用请求和测试用例整理成集合,团队成员共享并持续迭代,确保 API 调用的一致性。
-
与其他工具对比
| 工具 | 特点 |
|---|---|
| Insomnia | 界面美观,团队协作和版本控制功能强,支持 GraphQL 和 WebSocket,适合中大型团队。 |
| Postman | 社区资源丰富,插件生态成熟,企业级功能完善,但界面相对传统。 |
| Hoppscotch | 开源免费,界面简洁,适合个人或小型团队快速上手,但协作功能有限。 |
| Apifox | 全链路 API 管理,强调设计、开发、测试一体化,但需付费订阅高级功能。 |
快速入门
-
安装与启动 -
从 Insomnia 官网 下载对应系统的安装包(Windows/macOS/Linux),注册账号后登录。
-
-
创建请求 -
点击 + New Request,选择协议(如 HTTP)和方法(如 GET),输入 URL,添加 Headers 和 Body,点击 Send。
-
-
管理集合 -
创建 Collections 组织相关请求,支持文件夹层级结构,右键可复制、导出或分享集合。
-
-
设置环境变量 -
点击右上角 Environments,添加变量(如 API_KEY),在请求中使用{{API_KEY}}引用。
-
注意事项
-
免费版限制:免费版支持最多 2 个团队成员和有限的工作区功能,企业级需求需升级至付费版。 -
性能测试:基础版本不支持高并发性能测试,需使用专业工具(如 JMeter)。 -
插件生态:插件数量少于 Postman,复杂场景可能需自定义开发。
Insomnia 通过其 现代化设计 和 强大的团队协作能力,成为开发者和团队的首选工具之一。如果你注重界面美观、版本控制和团队协作,同时需要支持多种协议的 API 测试,Insomnia 是值得考虑的选择。






