Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Распараллелить тесты внутри тестовых классов

gradle
junit
java
selenide
Теги: #<Tag:0x00007fedbb1ac0b0> #<Tag:0x00007fedbb1b3e00> #<Tag:0x00007fedbb1b2aa0> #<Tag:0x00007fedbb1b27d0>

(Mike Yelnikov) #1

Всем привет! Имеется следующая структура:

+--- TestClass1
|    +--- @Test test1(app1) {...}
|    +--- @Test test2(app2) {...}
|    +--- @Test test3(app3) {...}
|    +--- @Test test4(app4) {...}
|    +--- @Test test5(app5) {...}
|    +--- @Test test6(app6) {...}
+--- TestClass2
|    +--- @Test test1(app1) {...}
|    +--- @Test test2(app2) {...}
|    +--- @Test test3(app3) {...}
|    +--- @Test test4(app4) {...}
|    +--- @Test test5(app5) {...}
|    +--- @Test test6(app6) {...}

Каждый сценарий тестов(@Test) - одинаков, за исключением того, что каждый тест обращается и проверяет отдельное приложение. Попытка распараллелить путями Grade:

test {
  maxParallelForks = 6
}

Проблема в том, что запускаются параллельно тестовые классы, а не сами тесты.
Он запускает TestClass1 и TestClass2 параллельно, в которых крутятся по 6 @Test последовательно.

Возможно ли, и как сделать запуск одного тестового класса, в котором запустятся параллельно 6 тестов(@Test)? И следующий класс со своими 6-ю параллельными тестами не стартанет, пока не закончатся выполняться тесты из предыдущего класса.


(Антон) #2

Легко сделать с помощью групп в TestNG. Каждому тесту свою группу (или цепочке тестов для приложения) и в testng.xml указываешь include соответствующую группу…