前提:

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. Python缓存技术,装x新高度。

    一段非常简单代码 普通调用方式 def console1(a, b): print("进入函数") return (a, b) print(console1(3, 'a')) pr ...

  2. jQuery-对标签元素 文本操作-属性操作-文档的操作

    一.对标签元素文本操作 1.1 对标签中内容的操作 // js var div1 = document.getElementById("div1"); div1.innerText ...

  3. 一、springboot入门

    构建spring boot工程一般采用两种方式 gradle .maven maven方式 pom.xml spring-boot-starter:核心模块,包括自动配置支持.日志和YAML spri ...

  4. 缓存数据库-redis介绍

    一:Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的 ...

  5. Nginx - keepliave 相关知识点

    目录 - 1. 前言- 2. keepalive 介绍- 3. Nginx 与 keepalive 的关系    - 3.1 Nginx - keepalive_timeout    - 3.2 Ng ...

  6. irport报表,把数字金额转换成大写人民币金额

    1.编写oracle函数 CREATE OR REPLACE Function MoneyToChinese(Money In Number) Return Varchar2 Is strYuan ) ...

  7. dedecms自定义模型之独立模型在首页、列表页、内容调用内容

    dedecms关于自定义模型(独立模型)的首页.列表页.内容怎么调用?在后台自定义模型(独立模型)的建立及自定义字段的添加比较简单,需要注意两点: (1)如果某个字段需要在前台列表页显示,则在前台参数 ...

  8. overlay实现容器跨主机通信

    本节内容: Docker容器跨主机通信方案 环境信息 升级内核 安装docker 防火墙设置和开启内核转发 安装启动consul 启动Docker 创建overlay network 创建容器 测试容 ...

  9. GUC-12 ScheduledThreadPool

    import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.Executors ...

  10. GUC-7 同步锁 Lock

    import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 一.用于解决 ...