本文共 1201 字,大约阅读时间需要 4 分钟。
jmeter无法实现的功能可以用java写个方法来实现,并通过前置处理器来调用方法
1、java编写md5加密方法
package md5test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class getmd5 {
public static String getMD5(String input) { try { // 获得MD5摘要算法的 MessageDigest 对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(input.getBytes()); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 StringBuffer hexString = new StringBuffer(); // 字节数组转换为 十六进制 数 for (int i = 0; i < md.length; i++) { String shaHex = Integer.toHexString(md[i] & 0xFF); if (shaHex.length() < 2) { hexString.append(0); } hexString.append(shaHex); } return hexString.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return ""; } public static void main(String args[]) { String str = "123456"; System.out.println("原始:" + str); System.out.println("MD5后:" + getMD5(str));}
}2、jar包存放
java方法打成jar包,并放在jmeter安装路径 XXX\apache-jmeter-5.0\lib\ext下
也可以不放里面,在测试计划里面设置加载路径
3、调用方法
添加前置处理器,在里面使用java调用,最后转化成jmeter可以使用的变量
import md5test.getmd5;
String md5=getmd5.getMD5(vars.get("Password")); vars.put("md5",md5);这里的md5是java中封装的一个方法,入参为md5加密前字符串,最后返回md5加密后字符串
最后jmeter就可以直接使用${md5}这个变量了
转载地址:http://bmtii.baihongyu.com/