Как мне создать один Java объект для всех потоков в JMeter? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь выполнить нагрузочное тестирование для Azure, и при этом мне нужно создать объект «EH Client». Я хочу, чтобы этот объект можно было повторно использовать во всех потоках, поскольку в противном случае нагрузочное тестирование происходит намного медленнее. Я сталкиваюсь со следующими проблемами:

Из моих знаний о JMeter я считаю, что единственный способ сделать это - через реквизит , а не через переменные. Тем не менее, я нашел ограниченную документацию и поддержку для передачи обычных Java объектов в качестве реквизита, и даже слышал, что это обескуражен.

Я не уверен в том, куда положить мои JSR223 Sampler (который использует Java на Beanshell Engine), чтобы это произошло. В идеале я хотел бы, чтобы это было за пределами моей основной группы потоков, но это, похоже, не работает, так как любые попытки доступа к объекту терпят неудачу.

TL; DR: я хочу создать ОДИН Java Объект с использованием сэмплера JRS223, который может использоваться всеми моими потоками.

1 Ответ

0 голосов
/ 11 марта 2020

До тех пор, пока вы не выполните итерацию свойств values ​​() , учитывая их все строки - вы должны сохранить свой объект в сокращенной записи props JMeter.

Если вы хотите go для Beanshell - есть bsh.shared пространство имен , которое можно использовать для совместного использования Объектов между потоками / группами потоков.

Если, тем не менее, вы также хотели бы избежать этого Вы можете использовать ObjectOutputStream , чтобы сохранить ваш объект в файл где-нибудь в setUp Group Thread и прочитать его обратно в "нормальной" Thread Group (s). См. Как читать и записывать Java объект в файл статью для более подробной информации.

Только одна подсказка: не используйте Beanshell, так как в JMeter 3.1 рекомендуется использовать язык Groovy для написания сценариев и java язык использует интерпретатор Beanshell под капотом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...