Jmeter将两个参数传递给自定义函数
在Jmeter中,我能够获得一个通过一个参数工作的自定义函数,但是我不能获得一个通过两个参数工作的自定义函数 在BeanShellFunction.bshrc中,我定义了Jmeter将两个参数传递给自定义函数,jmeter,Jmeter,在Jmeter中,我能够获得一个通过一个参数工作的自定义函数,但是我不能获得一个通过两个参数工作的自定义函数 在BeanShellFunction.bshrc中,我定义了 printStr1(String str1) { System.out.println(str1); } printStr2(String str1, String str2) { System.out.println(str1, str2); } 在我的Jmeter BeanShell断言中 ${__Bea
printStr1(String str1)
{
System.out.println(str1);
}
printStr2(String str1, String str2)
{
System.out.println(str1, str2);
}
在我的Jmeter BeanShell断言中
${__BeanShell(printStr1("hello"))}
${__BeanShell(printStr2("hello", "howAreYou"))}
我明白了,你好 我没有看到第二个函数的结果 不知何故,传递的第二个参数不起作用 从jmeter日志中,我看到: 2018-04-11 18:17:56348错误o.a.j.u.BeanShellInterpreter:调用bsh方法时出错:文件中的eval:内联计算:`printStr2(“hello”;''在第1行第10列遇到了“(\'hello\”;”。您没有超过1个参数,因此
System.out.println(str1,str2)
将不会编译
如果要连接字符串,只需在printStr2
方法中连接字符串:
System.out.println(str1 + str2);
考虑迁移到,因为在JMeter中可能不推荐使用Beanshell
还要注意的是,有一个特殊的OUT
可用:
OUT-System.OUT-例如OUT.println(“消息”)
printStr2
函数修改为
方法只能接受一个单个字符串。将其更改为类似以下内容:
printStr2(String str1, String str2)
{
System.out.println(str1 + str2);
}
${__BeanShell(printStr2("hello "\, "howAreYou"),)}