Как ограничить одновременный запуск браузеров Selenium компанией Jenkins? - PullRequest
0 голосов
/ 17 мая 2019

У меня есть проект Jenkins, который запускает более сотни файлов объектов Cucumber. Каждый тестовый сценарий использует Selenium, потому что мне нужно протестировать пользовательский интерфейс моего сайта. Проблема в том, что Дженкинс пытается запустить их почти все сразу, поэтому я получаю взрыв браузеров Selenium Google Chrome, пытающихся открыть все сразу. Это приводит к тому, что моей машине не хватает памяти, и только несколько браузеров Selenium реагируют.

Есть ли способ ограничить количество активных браузеров Selenium одновременно? Это может быть на Дженкинсе или в Селене, но я бы предпочел держаться подальше от Селеновой решетки.

Я уже пытался ограничить его в Jenkins, но кажется, что вы можете просто ограничить количество параллельных сборок. Моя проблема в том, что у меня только одна сборка, и она выполняет все тесты почти все сразу.

Что касается Selenium Grid, команда, которая используется на этапе сборки Jenkins, прямо говорит НЕ использовать Selenium Grid.

Под Jenkins для пакетной команды «Выполнение Windows»:

cd folderLocation
mvnw clean verify -Dgui.feature.tags=@test -Dbrowser=chrome -Dforked.jvm.count=3 -Duse.selenium.grid=false

С помощью этой команды создаются исполнители тестов, чтобы указать все сценарии, которые необходимо выполнить, и расположение файлов JSON результатов.

База кода для Selenium, Java и Maven копируется с другого компьютера. Когда вы запускаете проект Jenkins вручную, у них есть ограничение на количество активных браузеров Selenium на этом компьютере. Однако на новой машине мы заново выполнили настройку Jenkins, и если вы запустите сборку, она попытается запустить все браузеры Selenium одновременно, и большинство браузеров перестали отвечать на запросы. Через некоторое время он завершится дампом памяти ошибок.

Повторюсь, есть ли способ ограничить число открытых браузеров Selenium?

...