我在这里问了这个问题 - > Jmeter passing two parameters to a custom function但我得到的答案并没有帮助我
我无法获得两个传递工作的自定义函数
在BeanShellFunction.bshrc中我定义了
printStr2(String str1, String str2)
{
System.out.println(str1);
System.out.println(str2);
}
在BeanShell断言中我有:
String Username = "ABC";
String Password ="XXX";
${__BeanShell(printStr2(Username , Password))}
但它没有用,我甚至试过
${__BeanShell(printStr2(Username \, Password))}
答案 0 :(得分:0)
这就是我使用它的方式(注意我需要一个来自用户名和密码的Base64)
我将变量转换为这样的功能 - > vars.get( “温度”)
temp = Username + ":" + Password;
vars.put("temp", new temp);
第二个Bean断言
${__BeanShell(printStr3(vars.get("temp")))}
在函数内部我做了一个vars.get(“temp”)来获取它
答案 1 :(得分:0)
请注意since JMeter 3.1 it is recommended to use JSR223 Test Elements and Groovy language用于任何形式的脚本。这同样适用于__groovy() function
customFunction.groovy
修改代码以使用函数返回类型:
void printStr2(String str1, String str2)
{
System.out.println(str1);
System.out.println(str2);
}
按如下方式启动JMeter:
jmeter -Jgroovy.utilities=customFunction.groovy
从__groovy()
函数调用代码,如:
${__groovy(printStr2('ABC'\, 'XXX'),)}
演示: