未找到beanshell命令:从命令行使用jmeter时setprop

piah890a  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(408)

因此,我在jmeter中使用以下命令运行一些测试:

java -jar .\bin\ApacheJMeter.jar -n -t .\bin\Example-Test-Plan.jmx

在这个测试中,我有一个变量'users',我想用beanshell在运行时改变它,如下所示:

java -jar .\lib\bshclient.jar localhost 9000 .\bsh\update_parameter.bsh 200.

这是我的update\u parameter.bsh文件:

setprop("users", args[0]);

当我做这些事情的时候,我会得到:

Connecting to BSH server on localhost:9000
Reading responses from server ...
BeanShell 2.0b6 - by Pat Niemeyer (pat@pat.net)
bsh % // Error: EvalError: Command not found: setprop( java.lang.String, java.lang.String ) : at Line: 2 : in file: <unknown file> : setprop ( "users" , args [ 0 ] )

bsh % ... disconnected from server.

当我使用gui运行相同的测试时,参数更新很好。。。你知道为什么会这样吗?

pdtvr36n

pdtvr36n1#

这个 setprop 函数在中定义 startup.bsh 文件,它看起来像:

setprop(p,v){// set a JMeter property
print("Setting property '"+p+"' to '"+v+"'.");
JMeterUtils.getJMeterProperties().setProperty(p, v);
}

所以一定要定义 beanshell.server.file 指向此的属性 startup.bsh 文件,你应该能够使用这个或任何其他速记声明那里。

在任何情况下,您都可以将代码修改为:

org.apache.jmeter.util.JMeterUtils.setProperty("users",args[0]);

它也会有同样的效果。
更多信息:
beanshell服务器
如何更换jmeter´在运行时加载
jmeter属性参考

相关问题