У нас есть установка, в которой мы реализовали наши тесты пользовательского интерфейса на Java с использованием Selenium. Средством запуска тестов является JUnit, а для сборки мы используем maven. Чего мы хотели бы достичь в нашей непрерывной интеграции, так это того, что мы просто используем (верную) цель тестирования maven для параллельного запуска наших тестов пользовательского интерфейса в Selenium Grid. Пока я нашел 2 проблемы, которые мешают нам это сделать.
Я думал, что мы можем каким-то образом отправить все тесты в хаб Selenium Grid, и он позаботится о распараллеливании, но кажется, что если я хочу запустить 1000 тестов на 20 узлах сетки (каждый с использованием 5 браузеров), чем на самом деле нужно 100 потоков на моей машине Jenkins, которая выполняет цель теста maven. Есть ли способ распараллелить тесты, не требуя создания такого же количества потоков на машине-исполнителе?
Другая проблема, которая у нас есть (о которой весь этот вопрос), заключается в том, что если я отправлю 100 тестов в Selenium Grid и пойму, что я что-то напутал в тестах, и я остановлю процесс maven, который запустил тесты, тогда тесты продолжатся выполнение в Selenium Grid. Есть ли способ отменить эти тесты? Я ничего не нашел в Selenium API. (Даже в недокументированном REST API хаба). По сути, если я отправлю несколько тестов в Grid, единственный способ остановить их — убить узлы (или хаб). Любые обходные пути для этого?
Заранее спасибо!