Jmeter之BeanShell Sampler

转自:http://www.cnblogs.com/tester-hehehe/p/5466364.html

内容

1、先在eclipse里面写好代码,用eclipse执行一遍,确保文件不会报错

Str2MD5.java 内容如下:

package hehe.md5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Str2MD5 {

    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;
    }
}

2、将文件导出  并放到 JM的lib/ext文件目录下

3、在JM里面调用

import hehe.md5.Str2MD5;
String res = new Str2MD5().MD5("adf");
System.out.println(res);
vars.put("md5",res.toString());

看一下结果

这样 就可以在 JM的变量里面引用啦   还可以将传参进行参数化。 其实单纯的MD5加密 在JM里面有一个函数  直接就可以调用。_MD5()

时间: 2024-10-05 19:48:51

Jmeter之BeanShell Sampler的相关文章

JMeter中BeanShell Sampler调试分享

BeanShell脚本 String s = "s"; String y = "y"; boolean result = s.equals(y); vars.put("result2",result); 通过查看结果树,BeanShell脚本报错 通过有道在线翻译,意思是方法调用错误 那是哪个方法调用错误呢? 通过异常发现,Error in method invocation: Method put( java.lang.String, bool

Jmeter常用脚本开发之Beanshell Sampler

Beanshell Sampler Beanshell介绍:是一种完全符合java语法规范的脚本语言,且又拥有自己的一些语法和方法:是一种松散类型的脚本语言:它执行标准java语句和表达式,另外它还包括一些脚本命令和语法 Jmeter中有哪些Beanshell: 定时器: Beanshell Timer 前置处理器:BeanShell PreProcessor 后置处理器:BeanShell PostProcessor 采样器:BeanShell Sampler 断言: BeanShell 断言

jmeter通过BeanShell 脚本,实现对http请求参数的加密

jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的自动化接口测试框架.它的好还在于它是纯JAVA开发的,因此,它可以更好的跟JAVA对接,通过引入自己封装的jar文件,可以方便的实现对jmeter各种个性化需求的功能的拓展,下面以一个实际例子来说明jmeter怎么引入自己开发的java工具类来实现对http请求参数的加密处理. 在此之前,我们假设有

JMeter中BeanShell用法总结(一)

一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k. BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法. 二.Jmeter有哪些Bean Shell 定时器: BeanSh

jmeter4.0 统计结果次数 BeanShell Sampler,Debug Sampler

jmeter4.0 统计结果次数 BeanShell Sampler,Debug Sampler 业务场景:抽奖活动,程序按比例分配奖品,测试员想模拟100次抽奖,获取抽奖的结果,分析大致的概率 1.setUp Thread Group 前置,右击添加 BeanShell Sampler输入 props.put("a",0); props.put("b",0); props.put("c",0); props.put("d",

Jmeter之BeanShell断言使用

1.Bean Shell常用内置变量 JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log:用来记录日志文件,写入到jmeber.log文件,使用方法:log.info(“This is log info!”); ctx(JmeterContext)通过它来访问context,使用方法可参考:org.apache.jmeter.threads.JMeterContext. vars - (JMeterVariabl

JMeter使用BeanShell断言

BeanShell简介 BeanShell是使用Java语法的一套脚本语言,在JMeter的多种组件中都有BeanShell的身影,如: 定时器:BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器:BeanShell Sampler 后置处理器:BeanShell PostProcessor 断言:BeanShell Assert 监听器:BeanShell Listener 通过BeanShell可以对请求数据.响应数据或环境变量进行更加灵活的处理

利用JMeter的beanshell进行接口的加密处理

最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进度的需要,选择的做法是:让开发写个加密处理生成请求报文的代码,然后每次测试发送一次请求都用eclipse跑一遍该代码,测试数据的修改也是在代码中变更.这样跑一轮测试下来,测试同事都反映太累了. jmeter中的BeanShell,可以用来调用我们的工具类对数据进行处理,然后再进行相关的请求.自己刚好

JMeter中BeanShell实现写入文件

1.首先F:\test.txt文件为空 2.定义JMeter参数 3.编写BeanShell代码 public static void execParam() { String getdata = vars.get("v1"); //vars.get("v1"):意思是获取JMeter的参数值,然后将获取的值赋值给getdata变量 //用以下方式也可以://String getdata = "${v1}"; //String getdata =