BeanShellSampler常用内置变量

 

JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:
log:写入信息到jmeber.log文件,使用方法:log.info(“Agoly”);
vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:
a) vars.get(String key):从jmeter中获得变量值

b) vars.put(String key,String value):数据存到jmeter变量中

log.info("====BeanShell内置变量====");

log.info("XXXXXXXXXXXXX test11 变量 is "+vars.get("test11"));
log.info("XXXXXXXXXXXXX test22 变量 is "+vars.get("test22"));
String aa = vars.get("test11");
vars.put("test22",aa);

log.info("XXXXXXXXXXXXX 变量 is "+aa);

log.info("XXXXXXXXXXXXX test11 变量 is "+vars.get("test11"));
log.info("XXXXXXXXXXXXX test22 变量 is "+vars.get("test22"));

 Props:直接访问jmeter属性,也可以设置属性值

a) props.get("language") :从jmeter.properties中获取language属性值
b) props.put("language","zh_CN"):设置language属性值为zh_CN

log.info("====BeanShell内置变量====");

prop_value = props.get("remote_hosts");
log.info("====props,属性操作===="+prop_value);
props.put("remote_hosts","192.168.137.77:1099,192.168.137.241:1098");
prop_value = props.get("remote_hosts");
log.info("XXXXXXXXXXXXX_properties value  is "+prop_value);

 

ctx:获取运行时信息ctx.getThreadNum(),获取线程号,从0开始

log.info("====BeanShell内置变量====");

//log.info("====ctx,获取线程num====");
threadnum=ctx.getThreadNum();
log.info("====threadnum====  "+threadnum);

SampleResult.setResponseData("====threadnum==== 变量 is "+threadnum,"utf-8");

SampleResult:用于获取/设置sampler的返回值,更多方法参考SampleResult api

a) SampleResult.getResponseData():获取返回结果。

b)SampleResult.setResponseData(data,encoding):设置返回结果

log.info("====BeanShell内置变量====");

//log.info("====ctx,获取线程num====");
threadnum=ctx.getThreadNum();
log.info("====threadnum====  "+threadnum);
SampleResult.setResponseData("====threadnum==== 变量 is "+threadnum,"utf-8");
//SampleResult.setResponseData("====threadnum==== 变量 is "+threadnum);

	public int add(int a, int b) {
		int sum = a + b;
		System.out.println("the sum is :" + sum);
		log.info(">>>>>>>>>>>the sum is :" + sum);
		return sum;
	}
	add(1,2)

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章