Как получить значение из свойства в BeanShell (jmeter)
У меня есть несколько групп потоков. Я хочу использовать переменную из первой группы. Во второй группе этот var должен использоваться в BeanShell. Итак: в первой группе потоков я создал BeanShell Assertion с этим кодом:
${__setProperty(erroriden, ${erroriden1})};
Во второй группе потоков у меня есть препроцессор BeanShell. Если есть такая строка:
String[] erroriden = (vars.get("erroriden")).split(",");
Я попробовал несколько вариантов, как это:
String[] erroriden = (vars.get("__property(erroriden)")).split(",");
String[] erroriden = (vars.get("${__property(erroriden)}")).split(",");
но это не работает Помогите, пожалуйста, использовать ${__property(erroriden)} в препроцессоре BeanShell.
1 ответ
Решение
В первой группе тем:
props.put("erroriden", vars.get("erroriden1"));
Во второй группе тем:
String[] erroriden = props.get("erroriden").split(",");
- Область действия JMeterVariables ограничена только текущей группой потоков
- Свойства JMeter - это обычные свойства Java, которые являются глобальными для экземпляра JVM
- См. Как использовать BeanShell: любимое руководство по встроенным компонентам JMeter для получения дополнительной информации об использовании Beanshell в JMeter.