Jmeter将两个变量传递给自定义函数

时间:2018-04-11 11:19:03

标签: jmeter

我在这里问了这个问题 - > 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))}

2 个答案:

答案 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

  1. 在" bin"中创建文件您的JMeter安装文件夹,如customFunction.groovy
  2. 修改代码以使用函数返回类型:

    void printStr2(String str1, String str2)
    {
        System.out.println(str1);
        System.out.println(str2);
    }
    
  3. 按如下方式启动JMeter:

    jmeter -Jgroovy.utilities=customFunction.groovy
    
  4. __groovy()函数调用代码,如:

    ${__groovy(printStr2('ABC'\, 'XXX'),)}
    
  5. 演示:

    JMeter Groovy Utility Function

    更多信息:Apache Groovy - Why and How You Should Use It