2016-04-04 2 views
0

Я пытаюсь отправить функцию в качестве параметра в компоненте утверждения bealshell. параметрJmeter - использование функции jmeter как bsh.args

${__V(SB_names_${counter})} 

это в основном динамическая строка, которая отличается в каждой итерации. Я пытаюсь получить доступ к этому параметру обеспечивается

vars.get(bsh.args[2]); 

, так как это третий параметр в списке, но я получаю пустой.

enter image description here

это вообще возможно использовать функцию JMeter в качестве параметра? или проблема заключается в получении параметра? Спасибо.

+0

Я сделал что-то подобное раньше, поставив функцию, которую я хочу вызвать в скрипте bash и назвал ее так: $ {__ BeanShell (source ("function.bsh"))}. возможно, это поможет вам. –

+0

показать, как выглядит ваше утверждение BeanSHell. –

ответ

0

Он должен работать нормально только:

  1. Убедитесь, что переменная определена
  2. Удалить все запятые из раздела «Параметры»
  3. Удалить все лишние пробелы из раздела «Параметры».

В качестве временного решения можно рассмотреть возможность получения требуемого значения от vars объекта, который выступает за JMeterVariables как:

String sb_name = vars.get("SB_names_" + vars.get("counter")); 

Демо:

Beanshell function

Также рассмотреть переход к JSR223 Assertion и Groovy языка, поскольку это лучше с точки зрения производительности. См. Руководство Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! для получения дополнительной информации о лучших методах установки и создания сценариев.

+0

Спасибо! vars.get («SB_names_» + vars.get («counter»)); сделал работу. по какой-то причине он не работал с bsh.args [2]. – user2880391

Смежные вопросы