自动获取Token认证
const accessToken = pm.globals.get('access_token');
const accessTokenExpires = pm.globals.get('access_token_expires');
if (!accessToken || (accessTokenExpires && new Date(accessTokenExpires) <= new Date())) {
sendLoginRequest();
}
function sendLoginRequest() {
const baseUrl = pm.environment.get('BASE_URL');
const username = pm.globals.get('login_user');
if (!username) {
pm.globals.set('login_user', 'admin');
username = pm.globals.get('login_user');
}
const password = pm.globals.get('login_password');
if (!password) {
pm.globals.set('login_password', '123456');
username = pm.globals.get('login_password');
}
const loginRequest = {
url: baseUrl + '/auth/login',
method: 'POST',
header: {
"Content-Type": "application/json;charset=UTF-8",
},
body: {
mode: 'raw',
raw: JSON.stringify({ username: username, password: password }),
}
};
pm.sendRequest(loginRequest, function (err, res) {
if (err) {
console.log(err);
} else {
const jsonData = res.json();
pm.globals.set('access_token', jsonData.data.access_token);
const m = new Date();
const expires_time = new Date(m.getTime() + 1000 * 60 * jsonData.data.expires_in);
console.log(jsonData.data.expires_in)
console.log("有效时间:", expires_time)
pm.globals.set('access_token_expires', expires_time);
}
});
}
接口返回401,重新获取Token
pm.test("Your test name", function () {
var jsonData = pm.response.json();
console.log(jsonData.code);
if(pm.expect(jsonData.code).to.eql(401)){
sendLoginRequest();
}
});
function sendLoginRequest() {
const baseUrl = pm.environment.get('BASE_URL');
const username = pm.globals.get('login_user');
if (!username) {
pm.globals.set('login_user', 'admin');
username = pm.globals.get('login_user');
}
const password = pm.globals.get('login_password');
if (!password) {
pm.globals.set('login_password', '123456');
username = pm.globals.get('login_password');
}
const loginRequest = {
url: baseUrl + '/auth/login',
method: 'POST',
header: {
"Content-Type": "application/json;charset=UTF-8",
},
body: {
mode: 'raw',
raw: JSON.stringify({ username: username, password: password }),
}
};
pm.sendRequest(loginRequest, function (err, res) {
if (err) {
console.log(err);
} else {
const jsonData = res.json();
pm.globals.set('access_token', jsonData.data.access_token);
const m = new Date();
const expires_time = new Date(m.getTime() + 1000 * 60 * jsonData.data.expires_in);
console.log(jsonData.data.expires_in)
console.log("有效时间:", expires_time)
pm.globals.set('access_token_expires', expires_time);
}
});
}