Insomnia测试Rest接口指导
Insomnia测试Rest接口指南
1 Insomnia工具&Postman功能对比
Insomnia和Postman工具对比,基本功能都具备并且可以直接导入Postman的工程,经过简单的调整,即可直接使用。目前主要功能点对比如下:
功能点 |
Insomnia |
Postman |
工程导入/导出 |
OK |
OK |
工程兼容性 |
支持Postman工程导入 |
不支持导入Insomnia的工程 |
基本接口调用(GET/POST/PUT/PATCH/DELETE) |
OK |
OK |
公共环境变量 |
OK |
OK |
在接口调用中引用某个接口输出参数 |
OK,Chaining Requests支持通过函数引用某个接口的输出,支持直接引用或者通过环境变量引用 |
OK,支持通过JS设置环境变量的值。 |
调用下载文件接口下载文件 |
OK |
OK |
接口调用历史查看 |
OK,支持查看历史调用的输入和输出参数 |
OK,开启Save Responses之后,支持存储调用的输出 |
调用样例保存 |
不支持 |
支持在工程中保存测试样例 |
自动生成UUID |
支持 |
不支持 |
2 Insomnia安装
2.1 下载链接
现在7.0.1版本是稳定版本,推荐使用该版本
https://github.com/getinsomnia/insomnia/releases/download/v7.0.1/Insomnia.Setup.7.0.1.exe
或者到新这个链接查找更多的版本
https://github.com/getinsomnia/insomnia/releases
3 Insomnia使用
3.1 安全证书配置
根据产品认证模式选择安全认证,如Rest接口均为安全模式(https),默认为单向验证,可以采取两种形式通过安全验证。
3.1.1 【推荐】去使能工具的证书验证
如某产品默认是单向验证,可直接将工具配置成单向验证即可,这种情况下不需要配置证书。
进入Application-> Preferences
找到Network,去使能Validate certificates
3.1.2 【不推荐】配置安全证书
如果需要配置安全证书,建议使用某产品的默认证书,如果不使用产品的默认证书,请确保将产品的Trust.cer证书中的信任名单导入到你想使用的证书对。
导入证书的功能入口为,点击Insomnia,选择Workspace Settings
选择New Certificate,这里一般直接获取产品上的Trust.cer和Client.jks分别导入到CRT File和Key File即可。
3.2 测试rest接口—基本测试功能
3.2.1 新建Insomnia工程
- 1、点击Insomnia,选择Create Workspace
- 2、可以选择直接创建新请求或者创建文件夹
- 3、创建请求时,对于需要有Body的方法,选择Body的格式
4、使用时先填入所要测试URL:
URL= https://[IP]:[端口号]/URI
设置好Body和Header
点击Send或者Ctrl+Enter执行命令:
3.2.2 导入Postman工程
Postman工程可以直接导入,原有工程的输入、URL等都可以得到完整的保留,如果原Postman工程中有使用到Postman的环境变量,则需要修改或者删除环境变量之后使用。
点击工程的名字(图中的Insomnia),选择Import/Export
选择Import Data,在下拉列表中选择From File,这里支持导入Postman v2版本
选择Postman工程之后,可以看到工程的内容大部分都保留了,只有部分环境变量部分会报错,这里按照下面章节整理一下环境变量之后,就可以直接使用了。Postman部分的测试套功能目前在该工具没有看到,有兴趣的同学可以自行研究。
3.2.3 导出Insomnia的workspace
点击工程的名字,选择Import/Export
这里可以导出全部的workspace或者选择当前的workspace
导出的文件为Insomnia的工作空间,因此,这个导出的文件,无法在Postman使用。
3.2.4 查看接口的调用历史
Insomnia可以很方便的查看接口的调用历史,默认就会保存历史记录的输入和输出。在调用过接口之后,在输出的窗口可以看到调用历史,选择调用历史,既可以查看此次调用的输入输出。但是,该历史记录在将工程导出,然后在另外一个环境导入,就没法使用了,因此不能替代Postman保存接口样例的功能。
3.3 环境变量和Template Tags的使用
使用环境变量可以设置一些公共引用的变量,如IP地址、登录信息等,会极大的方便测试使用。
Template Tags可以用来引用已有接口的输出参数,对于接口调用有顺序依赖并且后续接口的调用中需要使用前序接口的输出作为输入时,该功能将会非常好用。同时该功能还允许生成UUID,这个对创建业务时需要输入UUID的场景,就非常的好用了。
本章节仅介绍一些常用的功能,Insomnia的Template Tags还有一些其余的功能,待大家自己发掘了。
3.3.1 环境变量的使用
Insomnia支持设置环境变量,在很多接口中需要引用到的参数,可以在环境变量中进行设置,在工作空间的下面,有一个下拉框,点击该下拉框,选择Manage Environments,可以创建和管理环境变量。
环境变量是JSON格式的
这里的环境变量有3类:
- 固定变量,如服务器地址端口,直接使用如下固定设置值就可以了
"serverIp": "X.X.X.X:PORT"
- 引用其余接口的输出,如token,所有接口都需要使用,是获取token接口的输出,这里可以参考Template Tags的设置,引用该接口的输出参数
- UUID,这个参数可以直接引用UUID。这里设置的方法就是输入U,在弹出的框中选择UUID-> Version 4
当然,在接口的输入中,也可以直接通过Template Tags引用UUID。
引用环境变量和Template Tags类似,输入环境变量的首字母,会弹出下拉框,在下拉框中选择即可。
- 点赞
- 收藏
- 关注作者
评论(0)