目录
一、Beanshell预处理器(BeanShell PreProcessor)
二、Beanshell取样器(BeanShell Sampler)
三、BeanShell 后置处理程序(BeanShell PostProcessor)
JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:
log:写入信息到jmeter.log文件,使用方法:log.info(“hello world!”);
ctx:该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext。
vars - (JMeterVariables):操作jmeter变量,常用方法:
a) vars.get(String key):从jmeter中获得变量值
b) vars.put(String key,String value):数据存到jmeter变量中
更多方法可参考:org.apache.jmeter.threads.JMeterVariables
props - (JMeterProperties - class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。
a) props.get("START.HMS"); 注:START.HMS为属性名,在文件jmeter.properties中定义
b) props.put("PROP1","1234");
prev - (SampleResult):一般用于前置处理器中,获取前面sample返回的信息,常用方法:
a) prev.getResponseDataAsString():获取前面sample的响应信息
b) prev.getResponseCode():获取前面sample的响应code
更多方法可参考:https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
一、Beanshell预处理器(BeanShell PreProcessor)
位置:添加-前置处理器-BeanShell PreProcessor
一般用于提取前面样本的响应信息,来作对比或者可以使用,同时它也可以在执行请求之前添加一些用到的参数,数据等。提前处理请求参数,如:加密解密
vars.put("Resultcxt",prev.getResponseDataAsString()); //获取上面的请求响应内容,赋值给"Resultcxt"
vars.put("resultcode",prev.getResponseCode());//获取上面的请求响应码,赋值给"resultcode"
vars.get("Resultcxt"); vars.get("