让前端飞Web前端之路

Insomnia 网络请求测试工具

2018-05-02  本文已影响357人  binyu1231

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

官网
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


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

环境变量

创建变量

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

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

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

image.png

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

变量的优先级

Folder Environment > Sub Environment > Base Environment

使用变量

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

变量可以嵌套声明

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

模板标记 Tamplate Tags

例子

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

  1. 比如第一个协议需要用户登录获得 uid,第二个协议用 uid 请求该用户的收藏列表。
  2. 或者获得书籍列表后,根据某一个书籍 id 获取详细信息

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

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

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

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

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

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

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

其他

偏好设置

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

end

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

上一篇下一篇

猜你喜欢

热点阅读