继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Insomnia 网络请求测试工具

冉冉说
关注TA
已关注
手记 198
粉丝 42
获赞 194

测试协议的时候一般会有两个比较麻烦的地方。一是多个协议使用同一个变量,二是协议之间总有关联性(b 需要 a 返回的结果作为参数)。这篇文章会结合 Insomnia 这款精巧的桌面应用来解决这两个问题。

https://img1.mukewang.com/5d32a6040001271907100427.jpg

官网
github

应用使用结构

/Insomnia|- workspace.1/              ---------------------+----------+
|    |- folder.1-1/          -------+             |          |
|    |    |- request.1-1-1          |             |          |
|    |    |- request.1-1-2          | folder env  |          |
|    |    |- request.1-1-3          |             |          |          
|    |    |...               -------+             |          ||    |                                            | sub env  | basic env|    |- folder.1-2/          -------+             |          |  |    |    |- request.1-2-1          | folder env  |          ||    |    |...               -------+             |          |
|    |- request.1.1                               |          |
|    |- request.1.2                               |          |
|    |...                    ---------------------+----------+
||- workspace.2/
|    |-folder.2-1/
|    |    |- request.2-1-1|    |...|- workspace3/
|    |...
|...

工作区

点击下拉菜单新建/切换 workspace


https://img1.mukewang.com/5d32a609000114f204770494.jpg

点击+当前工作区新建请求或文件夹

https://img2.mukewang.com/5d32a60d0001845c02720314.jpg


环境变量

创建变量

每个工作区(workspace)有自己的环境变量 (Base Environment, 快捷键 command + e),可供此工作区下的所有请求使用

https://img2.mukewang.com/5d32a6120001f40e07310241.jpg

Sub Environment 可以用来存储不同环境下的同名变量。然后可以点击主界面下拉框切换变量环境

Note: 如果新建的子环境变量是 private,那这个环境变量不会出现在导出文件中

https://img4.mukewang.com/5d32a61600011f1907160292.jpg

image.png

也可以为文件夹创建环境变量,可供文件夹内的请求使用

https://img.mukewang.com/5d32a6190001ed9102710459.jpg

变量的优先级

Folder Environment > Sub Environment > Base Environment

使用变量

在任意输入框处输入变量名,都可得到变量提示

https://img.mukewang.com/5d32a61d0001364307190441.jpg

变量可以嵌套声明

https://img3.mukewang.com/5d32a6210001c48205990150.jpg

此处 username 字段使用的是 Base Env 中 username 变量

模板标记 Tamplate Tags

例子

缓存请求数据是比较实际的需求。

  1. 比如第一个协议需要用户登录获得 uid,第二个协议用 uid 请求该用户的收藏列表。

  2. 或者获得书籍列表后,根据某一个书籍 id 获取详细信息

我们用第二个例子简单使用一下模板标记功能(为了简单此处没使用变量)

  1. 我们新建 Book 目录,创建 GetList 请求,具体设置如下图,点击 Send,右侧有数据返回则进行下一步

Note: 使用了豆瓣API https://api.douban.com/v2/book/search

https://img1.mukewang.com/5d32a6280001f5ef07160278.jpg

  1. 新建 GetDetail 请求, 基本配置如下

https://img4.mukewang.com/5d32a62d0001d7e207160556.jpg

根据豆瓣API的要求我们要在链接后面添加书籍ID, 输入 res 在提示框中选择 Response -> Body Attribute

https://img3.mukewang.com/5d32a6ce0001473a07260213.jpg

双击出现的红色 Tag 标签,按照下图配置,设置好后点击 Done

https://img2.mukewang.com/5d32a6d1000151ee07130206.jpg

  1. 回到主界面点击 Send 即可

其他

  • 根据服务端返回的数据不同,可以配置不同的格式(如xml, string),需要大家自己探索。

  • 变量声明处(Base Env.etc.)也可以使用模板标记

偏好设置

command + , 可以打开偏好设置。设置主题,字号,以及代理

end

还是比较简单实用的工具。还支持 GraphQL。 官方文档有更多的介绍,中文资料较少。有问题也可以去项目的 issues 里去看看 :)



作者:西瓜橘子葡萄冰
链接:https://www.jianshu.com/p/89804e9aa8f6


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP