postman 脚本和变量
背景
后端接口有登录或鉴权验证,通过 swagger 调用比较费劲,并且 java 的 swagger 库(不够自动化,嵌套类支持需要各种配置才能正常显示 schema)个人感觉也没有 .net core 的 swagger 库好用,所以 swagger 有就行了,我不是很想配那么多注解什么的。
我平时都是 postman 来做客户端,为了用起来更舒服,研究了一下脚本和变量,十分好用,但也是 postman 强大功能的九牛一毛。
步骤
创建文件夹
创建一个 backend-api
文件夹
配置变量
点击文件夹,点击 Variables
tab,配置以下键值对,这很简单,就像声明变量
配置脚本
这里配置的是 Pre-request Script
,即在每次请求发送前执行,具体操作如下:
点击文件夹,点击 Pre-request Script
tab,然后粘贴以下代码:
pm.request.headers.add({
key: pm.collectionVariables.get("tokenName"),
value: `Bearer ${pm.collectionVariables.get("tokenValue")}`
});
这段代码的意思是,每次请求前,在 request header 中加一个键值对,并且 key 和 value 都是从变量中动态读取的
配置登录接口的脚本
需求:在每次登录后,获取登录返回的 token 信息,并保存在变量中,具体操作如下:
新建一个 tab 页,配置登录的地址和其他参数信息,然后保存到先前创建的 backend-api
文件夹中。
然后点击登录 tab 的 Tests
tab 页,粘贴以下代码:
var data = pm.response.json();
pm.collectionVariables.set("tokenName", data.token.name);
pm.collectionVariables.set("tokenValue", data.token.value);
这段代码的意思是,获取接口返回值并转为 json 对象,然后设置全局变量 tokenName
和 tokenValue
的值。
测试
新增一个有登录验证或鉴权的接口,然后保存到先前创建的 backend-api
文件夹中。
然后先 send
一次登录接口,再去调用有登录验证或鉴权的接口,就可以了。