在bean-shell断言Jmeter中传递变量

时间:2019-03-22 22:12:34

标签: jmeter assertion beanshell

我尝试将2个变量传递给Jmeter的BeanShell脚本,但是由于错误而失败。但是,如果我传递一个硬编码的字符串值,它就可以工作。

Beanshell断言来比较变量AdID1和MAdID1

String addrress1="${AdID1}"; 
String memberAddress1="${MAdID1}"; 

Failure1 = !addrress1.equals(memberAddress1);

if (Failure1) {
  FailureMessage = "Variables are not equal. Expected \"" + addrress1 + "\" , actual:\"" + memberAddress1 + "\"";
}


if(addrress1.equals(memberAddress1)) {
    log.info("Matched"); 
  

错误:BeanShellAssertion:org.apache.jorphan.util.JMeterException:   调用bsh方法出错

2 个答案:

答案 0 :(得分:0)

不要将JMeter Functions or Variables内联到脚本中。

尝试像这样在脚本中使用JMeter变量:

String addrress1= vars.get("AdID1");
String memberAddress1= vars.get("MAdID1");

建议使用JSR223 Test Elements and Groovy Language而不是BeanShell。

答案 1 :(得分:0)

建议避免编写脚本,并使用内置的JMeter Test ElementsFunctionsPlugins,并在可能的情况下避免编写脚本,因此我建议您使用Response Assertion

相关配置为:

enter image description here

关于您的脚本-似乎缺少结束}