不说废话,直接上干货!
1.如下图所示:登录接口请求成功返回的响应是加密的
2.在登录接口的后置操作选择自定义脚本,进行ASE解密 js脚本编辑(如下图所示)
// 引入CryptoJS库,可以通过npm安装crypto-js
var CryptoJS = require("crypto-js");
var response = pm.response.json();
var data = response.data;
// 设置你的AES密钥和初始化向量
const key = CryptoJS.enc.Base64.parse('密钥');
const iv = CryptoJS.enc.Base64.parse('偏移量');
// 解密token
var data = CryptoJS.AES.decrypt(data, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
// console.log(encryptedToken)
// 转换为UTF8字符串
const token = data.toString(CryptoJS.enc.Utf8);
console.log(token); // 打印解密后的token
// console.log(typeof token)
var data = JSON.parse(token);
var accessToken = data.accessToken;
console.log(data.accessToken);
pm.environment.set("accessToken",accessToken);
3.在自动化测试下编写接口之间依赖参数 accessToken (其他加解密参数处理同理)。
4.即可拿到解密后的参数值作为下个接口的入参,请求成功! (如果到这步还不行,那就多试几次,注意用console.log() 调试输出,一定是自己的问题)