Parallel Batches in Thucydides. Параллельный запуск из Jenkins


(shryshuk) #1

Здравствуйте всем.

Может у кого-нибудь есть опыт распараллеливания тестов средствами самого Thucydides?

Пытаюсь для текущего работающего проекта настроить parallel batches:

  1. http://thucydides-webtests.com/2011/12/25/faster-web-tests-with-parallel-batches-in-thucydides/

  2. http://internetka.in.ua/thucydides-jenkins-parallel/

Запуск тестов без batches параметров - все нормально.

Запуск c параметрами (thucydides.batch.size, thucydides.batch.number) - 2 из 3 batches просто скипаются, судя по логу они пусты:

Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

Т.е. что происходит: берется первый тест, например, test01 -> на этапе ThucydidesRunner::run() проверяется, должен ли данный тест запуститься в текущем batch (из исходников самого thucydides):

@Override
public void run(final RunNotifier notifier) {
	if (!skipThisTest()) {
		...
	}
}

И вот в этом месте, если условие не выполняется (любой тест принадлежит только одному batch, поэтому вполне логично, что для двух оставшихся batches это условие не выполняется) - скипается тест и вместе с ним вся сборка!

Сталкивались с чем-то подобным? Может настройку какую пропустил?


(Pasha Strunkin) #2

Попробуй распаралелить через maven-failsafe-plugin
http://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html


(shryshuk) #3

Спасибо за ссылку! Да, в конечном итоге, если с parallel batches ничего не получится, буду пробовать другие варианты.
Но сейчас пробую разобраться именно с этим вариантом. Ведь не зря же сделана такая опция в самом Thucydides..
Вот и хотел бы найти людей, кто это реализовывал, и сталкивались ли с подобными проблемами?


(Mdolinin) #4

А вы Thucydides c JBehave используете?


(shryshuk) #5

Не, с Junit-ом


(Mdolinin) #6

Тогда самый лучший вариант maven-failsafe-plugin c конфигурацией <parallel>classes</parallel>.