Передать переменную в Jmeter утверждения оболочки компонента

#jmeter #assertion #beanshell

#jmeter #утверждение #beanshell

Вопрос:

Я пытаюсь передать 2 переменные в скрипт BeanShell Jmeter, но он завершается ошибкой. Однако, если я передаю жестко закодированное строковое значение, это работает.

Утверждение 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

Ответ №1:

Не вставляйте функции или переменные JMeter в скрипты.

Попробуйте использовать переменные JMeter в своих скриптах следующим образом:

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

Рекомендуется использовать тестовые элементы JSR223 и Groovy Language, а не использовать BeanShell.

Ответ №2:

Рекомендуется избегать написания сценариев и использовать встроенные тестовые элементы JMeter или функции или плагины и избегать написания сценариев, где это возможно, поэтому я бы предложил использовать утверждение ответа.

Соответствующая конфигурация будет:

введите описание изображения здесь

Что касается вашего скрипта — похоже, в нем отсутствует закрытие } .