Занимаюсь автоматизацией мобильных приложений(нативных).
Возникло не удобство в использование автоматизации при параллельном выполнение на разных реальных девайсах.
Как у меня сейчас это устроено.
Есть тестовые классы.
Пример : LoginTest.java
Все это успешно запустится.
4-ре девайса не могу ранить одновременно, так как очень не стабильный Wi-Fi в компании и тесты падали из-за этого.
Пришлось разделить для девайсов Nexus и Samsung
У меня в проекте в папке = recources
SuitesSamsung - включает все ***.SuiteSamsung.
SuitesNexus - аналогично, только для Nexus.
НА CI отдельными jobs запускаются SuitesNexus и SuitesSamsung последовательно.
Уже на данный момент стало многовато xml - которые для тестовых класов, а дальше будет еще больше так как будут увеличиваться тесты.
Предположил что можно сделать через Data Provider.
Но саму аннотацию Data Provider не возможно навесить на @BeforeClass.
Так вот нужен ваш совет, как быть дальше.
Каждая с этих сьют будет включать тесты для разных типов девайсов.
Вопрос, я правильна такая реализация? Или можно упростить!
Меня на данный момент смущает только накопление ***.xmls
Имхо будет ли правильно создать еще одну папку ресурсов
где я буду хранить только Общее Suites.***?
Будет примерно выглядеть вот так
Мне пока не совсем понятно это разделение на suites. Вам надо одни и те же тесты запустить на разных девайсах при общем ограничении в 2 паралелльных потока?
Раз уж вы разбили девайсы по тестовым блокам, что мешает вам добавить еще N блоков для других девайсов в рамках существующего suite? При этом кол-во потоков все так же можно сохранить на уровне 2х.