postman测试脚本自定义token

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环境变量

设置postman的环境变量,添加变量token和host

postman测试脚本自定义token_第1张图片

在登录请求写test Script脚本获取access_token设置环境变量token,参考官方API文档

postman测试脚本自定义token_第2张图片

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进入编辑。

postman测试脚本自定义token_第3张图片

postman测试脚本自定义token_第4张图片

pm.request.headers.upsert({ key: "Authorization", value: "Bearer " + pm.environment.get("token"), disabled: false});

三、通过console是否已经携带token,查看请求日志

postman测试脚本自定义token_第5张图片

四、swagger导入postman诀窍

无论通过 http://localhost:9999/v2/api-docs下载成json再导入,还是通过链接导入都不能;因为postman目前只支持OpenAPI。

postman测试脚本自定义token_第6张图片

正确做法是通过 swagger在线编辑器导入swagger文档,点击File选择import URL输入本地swagger url,导入成功点击Edit看见Cover to OpenAPI3,转化成openapi3后。

postman测试脚本自定义token_第7张图片

postman测试脚本自定义token_第8张图片

复制openapi脚本通过postman左上角import选择Raw Text导入,如下图所示

postman测试脚本自定义token_第9张图片

五、参考资料如下:

  1. Test examples
  2. Postman之Pre-request Script 使用详解

你可能感兴趣的:(postman,swagger)