使用 JMeter,我想从 CSV 文件中获取值,连接这些值并对它们进行 MD5 哈希,然后使用 HTTP 请求采样器将值作为 HTTP 请求的一部分发送。
我尝试了以下但没有得到正确的结果:
- 创建 CSV 数据集配置并添加变量 csvVal1、csvVal2、csvVal3;
在 jp@gc-Dummy Sampler 中,我添加了以下内容:
${__MD5(${csvval1}+${csvval2}+${csvval3})}
这不起作用,什么是正确的方法?
使用 JMeter,我想从 CSV 文件中获取值,连接这些值并对它们进行 MD5 哈希,然后使用 HTTP 请求采样器将值作为 HTTP 请求的一部分发送。
我尝试了以下但没有得到正确的结果:
在 jp@gc-Dummy Sampler 中,我添加了以下内容:
${__MD5(${csvval1}+${csvval2}+${csvval3})}
这不起作用,什么是正确的方法?
我最终使用了 BeanShell Preporcessor 并使用了以下脚本
import java.security.MessageDigest;
String val1 = vars.get("csv_val1");
String val2 = vars.get("csv_val2");
String val3 = vars.get("csv_val3");
String totalString = val1+val2+val3;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(totalString.getBytes("utf-8"), 0, totalString.length());
md5hash = md.digest();
StringBuffer sb = new StringBuffer();
for (int i=0;i<md5hash.length;i++) {
String sval = Integer.toHexString((int) md5hash[i] & 0xFF);
if(sval.length()== 1)
{
sval = "0"+sval;
}
sb.append(sval);
}
log.info("tktest: "+ sb);
vars.putObject("MD5Signature", sb.toString());
有一个新功能__digest
,目前在夜间构建中
在您的情况下,将 3 个变量的结果保存在 MD5Signature 变量中,请使用以下命令:
${__digest(MD5,${csv_val1}${csv_val2}${csv_val3},,,MD5Signature)}