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)

 

 

 

 

 

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