Insomnia是基于Electron的跨平台REST API测试工具,以“一切皆可版本控制”为理念。架构围绕工作区、请求集合和环境变量三大元素构建。
基础架构
工区:顶级容器,用于隔离不同项目
请求集合:按文件夹结构组织相关API端点
环境变量:支持多环境动态配置管理
项目配置
创建项目时,通过Ctrl/Cmd+N建立请求集合。建议按业务领域命名,如“用户管理服务”。通过环境变量管理基础配置,例如设置{{base_url}},便于在不同部署环境间切换。
请求配置
支持标准HTTP方法(GET/POST/PUT/PATCH/DELETE)
提供完善的请求头管理,支持多种认证模式
查询参数支持表格界面和手动编辑
支持JSON、表单数据、GraphQL和二进制文件等多种请求体格式
身份认证
Bearer Token:支持静态和动态令牌
OAuth 2.0:完整支持四种授权流程
API Key:支持参数或头部注入
AWS Signature:自动计算签名
自动化测试
内置JavaScript测试框架,可编写验证脚本:
javascript
pm.response.to.have.status(200);
pm.expect(pm.response.responseTime).to.be.below(500);
const jsonData = pm.response.json();
pm.expect(jsonData).to.have.property('data');
数据管理
环境变量支持多级覆盖,通过{{variable_name}}语法引用。可从响应中提取数据并持久化:
javascript
pm.environment.set('auth_token', response.access_token);
高级功能
自动生成API文档,支持OpenAPI导出
集合运行器支持批量请求执行
插件系统扩展核心功能
通过inso CLI集成CI/CD流程
该工具为API测试提供了完整的工作流解决方案,支持从基础请求到自动化测试的全流程需求。