Jmeter高级应用之用BeanShell使用一--调用jar包(对HTTP请求中的参数进行MD5加密)
前提:
eclipse、JDK、Jmeter
说明:
本文分为两部分进行配置说明
第一部分:编写JavaMD5加密脚本
第二部分:使用Jmeter的BeanShell进行验证
****************************************************************************************
第一部分:编写JavaMD5加密脚本:
第一步:打开eclipse,创建一个MD5Test包,如下图:

输入创建的包的名称,点击Finish

完成后如下图:

第二步:选择该包,邮件创建一个class类

创建class的名称为MD5_Method,点击finish,如下图:

完成后如下图所示:

第三步:编写MD5方法,如下图:

脚本如下:
package MD5Test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5_Method {
public String MD5(String sourceStr) {
String result = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(sourceStr.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));
}
result = buf.toString();
System.out.println("MD5(" + sourceStr + ",32) = " + result);
// System.out.println("MD5(" + sourceStr + ",16) = " + buf.toString().substring(8, 24));
} catch (NoSuchAlgorithmException e) {
System.out.println(e);
}
return result;
}
}
第四步:编写一个test脚本,测试MD5加密方法的正确性
方法同创建MD5_Method方式一致,如下图:

test中的脚本编写如下:
package MD5Test;
import MD5Test.MD5_Method;
public class test {
public static void main(String[] args){
String res = new MD5_Method().MD5("wangyuhang@acktest");
System.out.print(res);
}
}

验证,点击界面上的Run菜单选项运行test.Java文件,如下图:

第五步:将MD5Test导出为jar包
选择MD5Test右键选择导出,如下图:

选择Java下的Jar File 点击next,如下图:

配置JARfile导出的路径及导出的名称点击finish,在D:\Beanshellstudy\路径下查看是否存在TestMD5.jar文件,如下图:

第六步:将打包出来的TestMD5.jar文件放到Jmeter的\lib\ext目录下,如下图:

第六步:启动Jmeter(注意每次更新ext下的文件时需要重启Jmeter才生效)
**************************************************************************************
第二部分:使用Jmeter的BeanShell进行验证
第一步:启动Jmeter,并创建一个test的线程组,如下图:
(右键测试计划—添加—Thread(Users)—线程组,如下图:)

第二步:选择添加—配置元件—用户定义的变量,如下图:

第三步:选择用户定义的变量添加passwd及相应的值,如下图:

第四步:创建HTTP请求(添加—sampler—HTTP请求),如下图:

服务器名称:www.baidu.com(以百度为例)
路径:/login.php(随意)
点击界面下的添加按钮,填写带的参数
第五步:添加察看结果树(添加—监听器—察看结构树),如下图
这里保持默认就好不需要配置

第六步:在http请求下,添加BeanShell前置处理器,如下图:

添加完成后选择添加的BeanShell Preprocessor,编写脚本,如下图所示:
import MD5Test.MD5_Method;
String input = vars.get("passwd");
String output = new MD5_Method().MD5(input);
vars.put("passwd",output);

第七步:为了察看请求前和请求后passwd的值,在http请求的前后加上debug,如下图:
配置默认就好

第八步:运行Jmeter脚本
请求passwd的值:

请求后passwd的值,已经进行加密处理:

HTTP请求中的passwd值,如下图:

至此说明MD5加密成功。。。。OK
参考文档:
https://www.cnblogs.com/xinxin1994/p/6835257.html


浙公网安备 33010602011771号