t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f74975fa088> #<Tag:0x00007f74975f9f70> #<Tag:0x00007f74975f9ea8> #<Tag:0x00007f74975f9db8>

Всем привет!
Имеется автотест веб-сервиса (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 Симпатия

Можно, для жтого необходимо раз 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:

1 Симпатия