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

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

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

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

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

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

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

1 лайк

Можно, для жтого необходимо раз Apache JMeter - User's Manual: Building a SOAP WebService Test Plan, два Apache JMeter - User's Manual: Component Reference и три Apache JMeter - User's Manual: Component Reference

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

1 лайк