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

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

+--- 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-ю параллельными тестами не стартанет, пока не закончатся выполняться тесты из предыдущего класса.

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

1 Like