Как запустить автотест (Java+Junit+Maven) в несколько потоков.

soap
jenkins
parallel
java
Теги: #<Tag:0x00007fedb9cb2fd8> #<Tag:0x00007fedb9cb2e98> #<Tag:0x00007fedb9cb2d58> #<Tag:0x00007fedb9cb2c18>

(Denis B ) #1

Всем привет!
Имеется автотест веб-сервиса (SOAP) написанный на Java с JUnit. Тест развернут в Jenkins, собирается с помощью Maven (clean surefire-report:report).
Возникла задача запустить данный тест в несколько потоков.
Подскажите пожалуйста, как можно настроить выполнение теста в несколько потоков? (т.е. необходимо параллельно выполнять однотипные запросы с целью нагрузочного тестирования)


(Баранов Иван) #2

ИМХО, запуск автотеста в несколько потоков - не очень подходящий вариант для нагрузочного тестирования, хотя бы уже потому, что нагрузку сложно будет контролировать. Да и junit с surefire для этого не предназначены. Лучше использовать специальные инструменты (Jmeter, например). Либо запускать тестовый метод вручную в main методе в отдельных потоках.


(Denis B ) #3

Согласен что вариант не самый подходящий, зато требует меньше времени для беглого load теста :slight_smile:
Буду запускать тест вручную в main методе через ExecutorService.


(Sergey Korol) #4

Для нагрузочного лучше взять Gatling. У него бешеные возможности в плане concurrency, ибо работает не с потоками (akka-based). Но это scala. :slight_smile:


(Denis B ) #5

Иван, подскажите а возможно в Jmeter реализовать например SOAP запрос с рандомными данными, получать ответ и с необходимыми изменениями отправлять в следующем запросе?


(Баранов Иван) #6

Точно знаю, что возможно. Но сам я с ним мало работал, поэтому подсказать детали не смогу.
Но вот что гуглится например:
http://jmeter.apache.org/usermanual/functions.html#__Random


#7

Можно, для жтого необходимо раз http://jmeter.apache.org/usermanual/build-ws-test-plan.html, два http://jmeter.apache.org/usermanual/component_reference.html#preprocessors и три http://jmeter.apache.org/usermanual/component_reference.html#postprocessors

Ну и соответствующие asserts, разумеется :slight_smile: