Всем привет!
Имеется автотест веб-сервиса (SOAP) написанный на Java с JUnit. Тест развернут в Jenkins, собирается с помощью Maven (clean surefire-report:report).
Возникла задача запустить данный тест в несколько потоков.
Подскажите пожалуйста, как можно настроить выполнение теста в несколько потоков? (т.е. необходимо параллельно выполнять однотипные запросы с целью нагрузочного тестирования)
ИМХО, запуск автотеста в несколько потоков - не очень подходящий вариант для нагрузочного тестирования, хотя бы уже потому, что нагрузку сложно будет контролировать. Да и junit с surefire для этого не предназначены. Лучше использовать специальные инструменты (Jmeter, например). Либо запускать тестовый метод вручную в main методе в отдельных потоках.
Согласен что вариант не самый подходящий, зато требует меньше времени для беглого load теста
Буду запускать тест вручную в main методе через ExecutorService.
Для нагрузочного лучше взять Gatling. У него бешеные возможности в плане concurrency, ибо работает не с потоками (akka-based). Но это scala.
Иван, подскажите а возможно в Jmeter реализовать например SOAP запрос с рандомными данными, получать ответ и с необходимыми изменениями отправлять в следующем запросе?
Точно знаю, что возможно. Но сам я с ним мало работал, поэтому подсказать детали не смогу.
Но вот что гуглится например:
http://jmeter.apache.org/usermanual/functions.html#__Random
Можно, для жтого необходимо раз 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, разумеется