最近測試移動端接口,但是請求內容是用MD5加密的,所以要先對請求內容進行加密,Jmeter內置的沒有MD5加密方法,所以自己從網上copy了一份,實現了加密功能,以下是具體操作:
1、從網上copy了一份MD5加密方法,用eclipse建個工程(包名、類名、方法名自己起)
package com.wjika.test; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class mymd5 { public static String getMd5(String plainText) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(plainText.getBytes()); byte b[] = md.digest(); int i; StringBuffer buf = new StringBuffer(""); for (int offset = 0; offset < b.length; offset++) { i = b[offset]; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } //32位加密 return buf.toString(); // 16位的加密 //return buf.toString().substring(8, 24); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } } }
eclipse截圖:
2、導出jar包
3、將導出的jar放到Jmeter安裝目錄下的lib文件夾下
4、Jmeter新建測試計划,添加線程組,新建BeanShell Sampler,並寫入以下測試內容
import com.wjika.test.mymd5; String pass = mymd5.getMd5(vars.get("users")); System.out.println(pass);
添加監聽器,查看結果樹,運行測試,可以看到Jmeter控制台中輸出了加密后的字符串
以上,已經實現了字符串的加密,如果想加密自定義變量,可如下:
在測試計划中添加用戶自定義變量:
BeanShell Sampler中使用自定義變量users,加密后保存
添加一個http請求,測試加密保存的sign是否可用
運行,查看測試結果: