前提:

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 = ; offset < b.length; offset++) {
i = b[offset];
if (i < )
i += ;
if (i < )
buf.append("");
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

jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密的更多相关文章

  1. jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战

    背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...

  2. jmeter 调用jar包 本地加密

    1.因为加密接口是有我们自己加密方式,所有加密包由开发提供,获得加密包后方式jmeter目录/lib/ext文件夹中 2.选择引入加密包 3.添加BeanShell Sampler和Debug Sam ...

  3. Unity调用Android的两个方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  4. Loadrunner11.0调用Jar包

    又好几天不写东西了,是不是意味着最近没有大的进步,时时敲打自己. 今天把loadrunner如何调用Jar包搞定了,现在把配置的过程中需要注意的东西写下来,分享给小伙伴儿,减少他们在前行路上的弯路. ...

  5. html实现调用jar包

    整体思路:html引用URL protocol-本地注册表key,key对应某一c#写的exe可执行文件,由exe可执行文件调用cmd,cmd执行jar包. 1.添加注册表: Windows Regi ...

  6. Jmeter 如何引入外部jar 包

    最近使用Jmeter 测试需要引入Jar包,之前也遇到过,用过两种方式,各有利弊,今天又接触了一种方式,挺好,在此做一总结. 方法一:测试计划 通过 Add directory or jar to c ...

  7. winform调用jar包

    因为工作需要,需要做一个数据上传的程序,客户规定的是:数据接口采用http连接,采用JSON-RPC轻量级远程调用协议.所以决定用winform做一个管理界面(其中还包括其他的功能),java完成数据 ...

  8. (转载)Python 的 JPype 模块调用 Jar 包

    Python 的 JPype 模块调用 Jar 包 背景与需求 最近学习并安装使用了HttpRunner框架去尝试做接口测试,并有后续在公司推广的打算. HttpRunner由Python开发,调用接 ...

  9. Python调用jar包中的方法

    [本文出自天外归云的博客园] 需求 最近在后台项目代码中一段自定义的AES加解密的程序在平时的测试工作中应用频繁.因为写脚本经常会需要使用,而经过各种尝试,比如jpype等,都不尽如人意.最后转换思路 ...

随机推荐

  1. nginx 实现mysql的负载均衡【转】

    默认Nginx只支持http的反向代理,要想nginx支持tcp的反向代理,还需要在编译时增加tcp代理模块支持,即nginx_tcp_proxy_module 下面操作步骤只让nginx支持tcp_ ...

  2. python 根据输入的内容输出类型

    类型判断 from functools import singledispatch import numbers from collections import abc from collection ...

  3. 记录一款Unity VR视频播放器插件的开发

    效果图 先上一个效果图: 背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网 ...

  4. spark技术总结(1)

    1. 请描述spark RDD原理与特征 RDD为Resilient Distributed Datasets缩写,译文弹性分布式数据集. 他是spark系统中的核心数据模型之一,另外一个是DAG模型 ...

  5. 数据库-mysql安装

    MySQL 安装 所有平台的Mysql下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台. Linux/UNIX上安装Mysql Linux ...

  6. JAVA复习笔记之多线程并发

    前言:多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,还是值得深入研究一下 概念: 1 线程:进程中负责程序执行的执行单元线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用 ...

  7. Java第三阶段学习(四、缓冲流)

    一.缓冲流: Java中提供了一套缓冲流,它的存在,可提高IO流的读写速度 缓冲流,根据流的分类分为:字节缓冲流与字符缓冲流. 二.字节缓冲流: 字节缓冲流根据流的方向,共有2个: 1.写入数据到流中 ...

  8. day1作业登录接口总结

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 上面作业,用了几种思路来解决问题:但是本质上其实都是一样的:核心都是对文件的操作,文件的增删改查:并且这些操 ...

  9. python开发学习-day16(Django框架初识)

    s12-20160507-day16 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  10. require.js 加载 vue组件 r.js 合并压缩

    https://www.taoquns.com 自己搭的个人博客 require.js 参考阮一峰 Javascript模块化编程(三):require.js的用法 r.js 合并压缩 参考司徒正美 ...