Jmeter JMS точка-точка с динамическим содержимым сообщений

Я новичок в Jmeter. Я пытаюсь настроить сценарий нагрузочного теста JMS. Сообщение запроса имеет формат фиксированной длины. Мне нужен способ чтения полей из CSV и упорядочить их в формате фиксированной длины. Я попытался использовать функцию слайса javascript, используя переменные конфигурации данных csv и нарезая их на требуемую длину, объединяя их все в одну строку. Но это не работает. Может быть, мой подход неверен. Любые указатели о том, как заставить это работать с форматом фиксированной длины, помогут. Вот что я попробовал:

${__javascript(("      ".slice(-6))+(("0000000000000000"+${Var2}).slice(-16)) + (("                   " + ${Var3}).slice(-19))+(("   "+${Var4}).slice(-3))}

где Var1,Var2..Var4 из CSV.

Версия Jmeter: 3.3

MQ: IBM Websphere MQ

С одним входным сообщением я могу выполнить тест. Мне нужно динамически заполнять значения из функций CSV и / или даты / времени и упорядочивать их в формате фиксированной длины.

1 ответ

Решение
  1. В вашем коде есть опечатка, функция должна быть __javaScript (обратите внимание на столицу S
  2. Ваш подход должен работать, однако использование JavaScript крайне неэффективно, так как каждый раз, когда вы вызываете функцию __javaScript(), JMeter вызывает интерпретатор Rhino или Nashorn, и это может разрушить ваш тест в случае высоких нагрузок. Начиная с JMeter 3.1 пользователям рекомендуется использовать функцию __groovy() для сценариев.
  3. И последнее, но не менее важное: чтобы добиться максимальной производительности, я бы рекомендовал использовать функцию __substring() вместо slice() функция. Вы можете установить __substring() и другие пользовательские функции JMeter с помощью менеджера плагинов JMeter

    Диспетчер подключаемых модулей пользовательских функций JMeter

Другие вопросы по тегам