Замена пользовательского плагина JMeter - PullRequest
0 голосов
/ 04 июня 2019

Контекст

Я разрабатываю собственный плагин JMeter, который динамически генерирует тестовые данные из древовидной структуры.

Редактор для дерева генерирует поля ввода графического интерфейса в виденеобходимо, и поэтому у меня нет набора определенных свойств конфигурации, которые установлены в соответствующем TestElement.Вместо этого я сериализую дерево в целом в классе GUI, устанавливаю результат как одно свойство и десериализую его в элементе config, где он обрабатывается далее во время выполнения теста.

Проблема

Это работает просто отлично, за исключением того, что переменные / функциональные выражения JMeter, такие как ${foo} или ${_bar(..)} в полях динамического ввода, не оцениваются.Насколько я понимаю исходный код JMeter, оценка запускается каким-то образом, если используются соответствующие установщики свойств в org.apache.jmeter.testelement.TestElement, что невозможно для моего плагина.

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

Вопрос

Мне нужен указатель на исходный код JMeter или документацию для явной оценки выражений переменных / функций.

1 Ответ

0 голосов
/ 04 июня 2019

После того, как мне удалось правильно настроить JMeter-Project в моей IDE, я нашел org.apache.jmeter.engine.util.CompoundVariable, который можно использовать так:

CompoundVariable compoundVariable = new CompoundVariable();
compoundVariable.setParameters("${foo}");

// returns the value of the expression in the current context
compoundVariable.execute(); 
...