BeanShell是一种轻量级的脚本语言,纯java编写。
在jmeter中可以使用BeanShell Sampler编写脚本。
常用内置变量有3个:
-
log
用于在jmeter.log中打印日志,可以打印字符串、变量
log.info(“hello world”);
-
vars
用于存取jmeter线程变量,通常用于存取字符串内容,也可以存取对象
vars.get()
String mykey = vars.get(“keyname”); —–获取线程变量名为keyname的值,并保存在mykey中
String cookie11 = vars.get(“COOKIE_JSESSIONID”);
vars.put()
vars.put(“keyname”, “value”); —–把value保存到jmeter线程变量keyname中
vars.put(“fcy”, “测试人员”);
线程组–添加–Sampler–Debug Sampler,运行,通过结果树查看Debug Sampler,可以看到所有保存的变量
保存到变量中,就是为了后续会使用这个变量:fcy = vars.get(“fcy”),或者使用 fcy = “${fcy}”
注意:对于fcy = “${fcy}”这种使用方法,变量可以这么使用,属性就不可以了。
属性只能使用props.get(),或者_P函数,或者_property函数。
3. props
存取jmeter属性,参数中的key和value均是字符串形式
ymd = props.get(“START.YMD”); 获取属性START.YMD的值(脚本启动日期)
props.put(“PROP1”, “1234”);
把1234存入全局属性PROP1中
注意:对于属性变量(全局变量),一般来说重启jmeter才能生效,使用props之后,最好重启jmeter。
取用属性tom
线程组–添加–Sampler–Debug Sampler,运行,通过结果树查看Debug Sampler,可以看到所有保存的属性
4. 线程变量和属性的区别:
线程变量是局部变量;属性是全局变量。
对于属性变量(全局变量),一般来说重启jmeter才能生效,使用props之后,最好重启jmeter。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/193905.html