1、生成签名规则
2、添加 “BeanShell Sampler” 元件:
右键单击测试计划,选择 “Add” > “Sampler” > “BeanShell Sampler”。
位置在需要压测接口的上方
3、输入代码(根据不用规则编写代码,下面是以上方规则示例代码)
// Import the Base64 class
import org.apache.commons.codec.binary.Base64;
// 参数
var clientId = "0ca6eaf66cbf4f2bb1db6902c9c8d915";
var clientSecret = "8c0a5f3388154e2c959f2bd44fc2dd66";
var timestamp = new Date().getTime();
var uuid = new java.util.Random().nextInt(90000000) + 10000000;
// 计算签名值
var signValue = clientId + ":" + clientSecret + ":" + timestamp + ":" + uuid;
// 加密签名值
var aesKey = "#iSn##s$olu.@@sm";
var cipher = javax.crypto.Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, new javax.crypto.spec.SecretKeySpec(aesKey.getBytes(), "AES"));
var encryptedSign = cipher.doFinal(signValue.getBytes());
// 生成访问签名 (使用 Commons Codec)
var accessSign = new String(Base64.encodeBase64(encryptedSign));
// 将访问签名存储到变量中
vars.put("access_sign", accessSign);
// 打印访问签名
System.out.println("access_sign: " + accessSign);
4、运行后查看每个登录接口的签名是否不同