Insomnia的安装与使用(1)

1,873 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

Insomnia

介绍:Insomnia 是一REST跨平台客户端。除协作之外,它的大部分功能都是免费的。

(笔者是因为Postman agent突然要翻墙,以及客户端占用内存过大蓝屏后才发现的这个宝藏app)

1.下载

[官网](The API Design Platform and API Client - Insomnia)
下载需要科学上网。也可以在其他博客里找镜像资源。

2.基本使用

2.1创建新的collection

image.png

2.2新建文件夹以及http request

image.pngx

2.3 文件夹设置

点击文件夹,右键选择setting,可以修改文件夹名称。(f2不能改名,我试过)

image.png

在setting里点击add description,是添加doc中对整个文件夹的介绍。

image.png

2.4 请求区域

JSON 区域: 填写请求主体部分,可选择格式。
Bearer 区域: 可选择token格式,填写具体token。
Query 区域:写请求字段和值,可以用[gt]等筛选
Header 区域:填写自定义请求header。
Doc 区域: 填写单个request的doc介绍

image.png

2.5 添加环境

点击Sub Environments旁边的+号添加环境。
在右侧添加环境变量。
注意: 字段名和变量值都需要用""号包裹,包括后文会提到的Insomnia变量也需要!

image.png

image.png

3常见场景和使用方法

3.1 获取单个request中的token

Insomnia有个缺点,就是只能使用内置的方法或者插件,不像postman可以自己写。
所以这里简单介绍一下两个测试中常用的方法。

使用场景:
1)项目只有一个login会返回token,显示在主体中。
2)项目的其他request需要在header的Authorization里带有这个token

image.png

使用步骤:
1)在所有可以填入value的字段,写一个字母,等几秒,Insomnia都会出现一个list让你选择方法。这里需要的是response => Body attribute
2)在之前创建的环境中, 添加一个变量,添加一个 response 方法接收每次login返回的token
3)点击response => Body attribute, 勾选设置。它是通过JSONPath来从login返回的data中提取token的。[语法请参考](JSONPath - XPath for JSON (goessner.net)) 4)在需要提供token的request header添加变量名称,只需要写第一个字t,等待几秒,就能显示整个List,点选即可。

image.png

image.png

image.png

image.png

3.2获取response中的cookie

使用场景:
1)后端使用cookie来存放以及获取token ,图中login后会获取name为jwt的cookie
2)发起部分request需要附带以bear开头的token

image.png

使用方法:
1)在request的bear区域,选择bear,添加prefix前缀,value区域写c等待方法list出来,点选cookie方法。 2)点击进入cookie方法,选择配置。

image.png

image.png

4.导出document

笔者只找到了用commond line来导出的方法,不知道现在有没有更新。所以仅供参考。

完成这些步骤需要下载insomnia-documenter
1.点击你想要导出的collection,选择import/export
2.在Export data里面选择当前项目的document
3.export 并选择 JSON格式
4.进入导出文件的文件夹,用cmd进入该文件夹的终端,输入以下指令
(filename记得替换成导出后你自己的文件名称)

npx insomnia-documenter --config filename.json --output insomnia-final-result
  1. 成功后原文件的文件夹会出现insomnia-final-result文件夹,里面就是document网页版本,你可以选择用vscode或者命令行打开。(图片在最后) image.png

image.png

image.png

image.png

image.png

最后提一句,Insomnia官网的doc现成的教程很少,如果有别的需求,最好还是goole。
参考文章:
Create API Documentation with Insomnia Documenter - Lightrains Use Insomnia for API Requests (brightcove.com)