postman测试脚本自定义token
一、需求
postman在测试微服务需要携带oauth2校验令牌Authorization:Bearer {{token}},通过environment variable环境和test Script脚本,针对单次请求或者整个Collections设置自定义请求,甚至可以编排测试流程做自动化测试。environment一般来说分开发、测试和生产环境,从variable角度分environment variable(环境变量)、gloab variable(全局变量)和Collections variable(集合变量),对应了多项目多环境的测试需求;当然postman不足地方不能做自动化UI测试,遇到bug自动截屏或者内部堆栈记录报告;此外,如何从流行的swagger导入postman,OpenAPI与swagger哪个更适合新需求,个人推荐OpenAPI,它与postman更为兼容。
二、设置token环境变量
在登录请求写test Script脚本获取access_token设置环境变量token,参考官方API文档
var data = JSON.parse(responseBody);
pm.environment.set("token",data.access_token);
单次请求中一次性使用在Headers添加Authorization:Bearer {{token}};如果想复用token,在下图右下角红框点击Prese进入Manage Prese,header添加到Prese管理,在其他请求里选择是否使用该header(手动添加)。
Pre-request Script全局Collections下所有请求使用该自定义请求头,右键Collections选择Edit进入编辑。
pm.request.headers.upsert({ key: "Authorization", value: "Bearer " + pm.environment.get("token"), disabled: false});
三、通过console是否已经携带token,查看请求日志
四、swagger导入postman诀窍
无论通过http://localhost:9999/v2/api-docs下载成json再导入,还是通过链接导入都不能;因为postman目前只支持OpenAPI。
正确做法是通过swagger在线编辑器导入swagger文档,点击File选择import URL输入本地swagger url,导入成功点击Edit看见Cover to OpenAPI3,转化成openapi3后。
复制openapi脚本通过postman左上角import选择Raw Text导入,如下图所示
五、参考资料如下:
- Test examples
- Postman之Pre-request Script 使用详解
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。