一、什么是Bean Shell
二、Jmeter有哪些Bean Shell
三、Bean Shell常用内置变量
JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:
A:示例定义一个用户自定义变量
B:vars.get(String key)获取String变量
vars.put(String key,Value)放置一个Map到vars
如果需要获取或者放置非String类型数据 需要用putObject()和getObject()
1 //Beanshell vars.putObject() vars.getObject()的使用
2 List list = new ArrayList();
3
4 list.add("aaa");
5 list.add("bbb");
6 //putObject()可以在vars对象中放置Object类型对象
7 vars.putObject("list",list);
8 //===========================
9 //获取Object list对象
10 Object Value = vars.getObject("list");
11 //log.info只能输出String类型变量
12 log.info(Value.toString());
cxt内置对象getPreviousResult()方法 调用请求/响应数据
cxt内置对象来自于JMeterContext 查看Jmeter API发现有下列get方法可以获取请求/响应数据
1 //SampleResult需要import对象
2 import org.apache.jmeter.samplers.SampleResult;
3
4 SampleResult result = ctx.getPreviousResult();
5 //getRequestHeaders()方法返回String字符串
6 String RequestHeaders = result.getRequestHeaders();
7 //getResponseHeaders() 返回响应headers
8 String ResponseHeaders = result.getResponseHeaders()
9 //getResponseCode() 返回响应状态码字符串
10 String responseCode = result.getResponseCode();
11 //getURL() 返回请求URL对象
12 URL url = result.getURL();
13 log.info(RequestHeaders);
14 log.info(RequestHeaders);
prev是Beanshell后置处理器的内置对象 相当于ctx.getPreviousResult();
prev - (SampleResult):获取前面的sample返回的信息,常用方法:
a) getResponseDataAsString():获取响应信息
b) getResponseCode() :获取响应code
(5)props内置对象
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");
http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler
http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor
手机扫一扫
移动阅读更方便
你可能感兴趣的文章