2015-01-06 2 views
1

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

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

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

В JSR223 Sampler (с помощью Groovy скрипта), я пытался прочитать свойство как

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

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

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

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

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

Невозможно выяснить, что не так?

ответ

1

Вы можете сделать это без каких-либо скриптов по using just JMeter Functions как:

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

Функции, используемые являются:

  • __longSum - вычисляет сумму 2 или более длинных значений
  • __P - возвращает значение в JMeter собственности
  • __setProperty - присваивает значение JMeter Свойство
+0

Итак, я думаю, что мое решение может пойти как ** vars.put ("mobileNumber", $ {__ P (mobileNumber)) ** Чтобы получить значение свойства mobileNumber и сохранить его в текущей переменной цикла потока mobileNumber ** $ {__ setProperty (mobileNumber, $ {__ longSum ($ {__ P (mobileNumber)}, 100,)} ** Чтобы увеличить свойство mobileNumber –