如何编写Bean Shell脚本来比较两个变量并打印输出。 JMeter的

时间:2017-07-19 06:25:01

标签: if-statement jmeter comparison beanshell

我有两个变量1)预期(取自excel文件)& 2)实际(结果的正则表达式) 现在我尝试使用bean Shell Post处理器Scripting来比较这两个变量。

if(("${Expected}").equals("${Actual}"))
{
IsSuccess = true;
}
else
{
IsSuccess = false;
}

实际上应该根据比较将样本标记为通过和失败。 但是当比较返回false时,我发现采样器标记为失败。 他们的状况是否有任何错误。 另请帮助将输出打印到控制台 感谢帮助。 谢谢

1 个答案:

答案 0 :(得分:1)

  1. 不要将JMeter Variables or Functions内联到Beanshell(或任何其他)脚本中,它们可能会解决导致编译失败的问题
  2. 如果您想将采样器标记为Post-Processor传递或失败,那么您应该采用稍微不同的方式
  3. 示例建议代码:

    if (vars.get("Expected").equals(vars.get("Actual"))) {
        prev.setSuccessful(true);
    }
    else {
        prev.setSuccessful(false);
    }
    

    其他建议:

    1. 对于任何脚本实现,请考虑切换到JSR223 PostProcessor和Groovy语言为Groovy performance is much higher
    2. 您无需通过" normal"编写单行代码即可实现相同目的。响应断言,示例配置类似于:

      JMeter Assertion Compare 2 Variables

      有关使用断言有条件地传递/失败JMeter采样器的更多信息,请参阅How to Use JMeter Assertions in Three Easy Steps文章。