C语言学习网

JMeter中BeanShell Sampler

发表于:2022-11-28 作者:安全数据网编辑
编辑最后更新 2022年11月28日,BeanShell是一种轻量级的脚本语言,纯java编写。在jmeter中可以使用BeanShell Sampler编写脚本。常用内置变量有3个:log用于在jmeter.log中打印日志,可以打印字

BeanShell是一种轻量级的脚本语言,纯java编写。

在jmeter中可以使用BeanShell Sampler编写脚本。


常用内置变量有3个:

  1. log

    用于在jmeter.log中打印日志,可以打印字符串、变量

    log.info("hello world");

  2. 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。

0