Свойства JMeter, приводящие к ошибкам в режиме без графического интерфейса - PullRequest
0 голосов
/ 29 сентября 2018

Моя проблема

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

Я использую свойства, потому что значения создаются в группе потоков Endpoint Creation, но мне нужно, чтобы они были глобально доступны.Из-за этого я использовал некоторые экстракторы RegEx и утверждение BeanShell, чтобы присвоить значения нескольким различным свойствам. Вот как это выглядит.

Вот мои пользовательские переменные со свойствами, установленными в качестве их значений. .

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

Когда я готов начать тестирование, я переключаю Создание конечной точкиГруппа потоков отключена, так как она мне нужна только для настройки пользовательских переменных.

Следует отметить, что во время тестирования я должен использовать режим без графического интерфейса пользователя.


Вопросы

  • Не относится ли JMeter без GUI к пользовательским свойствам иначе, чем JMeter с графическим интерфейсом?
  • Есть ли способ сохранить эти свойства и заставить их работать в режиме без графического интерфейса?

1 Ответ

0 голосов
/ 01 октября 2018

Я могу подумать о 2 возможных проблемах:

  1. Режим выполнения тестов без графического интерфейса намного быстрее и занимает меньше памяти, поэтому ваша логика чтения / перезаписи / чтения сноваможет где-то сломаться
  2. Сам Beanshell - не лучший вариант сценариев, он имеет хорошо известные проблемы с производительностью, поэтому он может стать узким местом вашего теста.

В обоих случаях проверьте файл jmeter.log на наличие подозрительных записей.

Рекомендации:

  1. Вам не нужен этот Определяемые пользователем переменные шаг вообще, свойства JMeter являются глобальными для всех Группы потоков (фактически для всей JVM), поэтому вы можете оставить там только Salt, другие записи можно удалить, просто обратитесь к свойствам, используя __ P () или __ property () functions
  2. На всякий случай, если вы используете сценарии Beanshell для чего-либо еще - замените тестовые элементы Beanshell на Элементы JSR223 и убедитесь, что вы используете Groovy language , поскольку он обеспечивает оптимальную производительность,Также помните, что не следует использовать функции JMeter или переменные внутри скриптов, вместо этого используйте эквиваленты на основе кода:

    props.put('someproperty', vars.get('somevariable'))
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...