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