一、问题描述
- 目标:使用 postman 要模拟一个登录的过程
- 过程:登录需要用户名和密码,为了防止机器人登录,需要一个验证码,即登录前需要请求验证码
- 其他接口(几十个)需要登录成功返回的token作为参数传递
二、解决思路
- 使用postman 先调用获取验证码的接口,将验证码返回的数据作为postman的环境变量
- 根据用户名和密码,再获取环境变量中的验证码拿到token,将token设置到环境变量中
- 其他接口将从环境变量中获取token的值,设置到header中
2.1 postman 配置全局变量
2.2 postman 配置说明
- 获取验证码请求
在Tests 的选项卡中输入
var respObj = JSON.parse(responseBody);
// 获取到验证码的UUID,保存到环境变量中
postman.setEnvironmentVariable("loginUUID", respObj.uuid);
// 获取到验证码值,保存到环境变量中
postman.setEnvironmentVariable("loginVerifyCode", respObj.verifyCode);
- 登记请求
传递JSON的参数(从环境变量获取)
{
"username": "admin",
"password": "admin123",
"code": "{{loginVerifyCode}}",
"uuid": "{{loginUUID}}"
}
- test选项卡输入如下内容
将token设置环境变量
var respObj = JSON.parse(responseBody);
// 获取到验证码的UUID,保存到环境变量中
postman.setEnvironmentVariable("token", respObj.token);
- 获取用户列表(将token设置到header中)