Увеличение тестовых данных (мобильный номер) для нагрузочного тестирования 1 млн регистраций

Я пытаюсь загрузить и протестировать приложение Register-Search, которое будет работать, как следует из названия, для ~ 5 миллионов мобильных номеров. Будет использоваться 100-500 потоков с зацикливанием через определенную задержку между каждым циклом.

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

Самым простым решением было бы использовать mobileNumber как ${random(${min},${max})}. Но я хочу избежать этого и получить более линеаризованный подход, используя property mobileNumber

В сэмплере JSR223 (с использованием скрипта Groovy) я пытался прочитать свойство как

long number = ${__P(mobileNumber)}
vars.put("mobileNumber", String.valueOf(number))

Я хочу использовать UDV mobileNumber, созданный таким образом в текущем потоке, и увеличить свойство mobileNumber на 100. Попытка сделать:

number = number + 100
${__setProperty(mobileNumber, String.valueOf(number))

По некоторым причинам он не работает и выдает сообщение об ошибке Ответное сообщение:

javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: number for class: Script1

Не могу понять, что не так?


person Suhas Deshpande    schedule 06.01.2015    source источник


Ответы (1)


Вы можете сделать это без каких-либо сценариев, используя только функции JMeter как :

  • ${__longSum(${__P(mobileNumber)},100,tempNumber)} which
    • reads mobileNumber property
    • добавляет к нему 100
    • сохраняет результат в переменную tempNumber (однако, если вам это не нужно, вы можете опустить это)
  • ${__setProperty(mobileNumber,${tempNumber},)} - сохранить значение переменной tempNumber как свойство mobileNumber

Используемые функции:

  • __longSum — вычисляет сумму двух или более длинных значений.
  • __P — возвращает значение свойства JMeter.
  • __setProperty — присваивает значение свойству JMeter.
person Dmitri T    schedule 06.01.2015
comment
Поэтому я думаю, что мое решение может выглядеть как vars.put(mobileNumber, ${_P(mobileNumber)), чтобы получить значение свойства mobileNumber и сохранить его в текущей переменной цикла mobileNumber < b>${_setProperty(mobileNumber,${_longSum(${_P(mobileNumber)},100,)} Чтобы увеличить свойство mobileNumber - person Suhas Deshpande; 07.01.2015