Какое максимальное количество браузеров может запускать узел Selenium Grid

#selenium #selenium-grid

#selenium #selenium-grid

Вопрос:

Какое максимальное количество браузеров может запускать узел Selenium Grid, и если я хочу запустить около 200sh браузеров, как вы думаете, подойдет ли Selenium Grid?

Ответ №1:

Фиксированного ограничения selenium grid не существует, но вам нужно иметь в виду:

  1. На одном узле может работать только один InternetExplorer. Однако это ограничение браузера, а не Selenium. Я не уверен, сможете ли вы запустить более одного InternetExplorer на одном компьютере, но даже если сможете, при запуске тестов в Intrenet Explorer окно должно быть в фокусе, иначе тесты будут сбиты с толку. И у вас не может быть более одного окна в фокусе, поэтому, если вы хотите запускать свои тесты в IE, у вас не может быть более одного браузера на компьютере, на котором запущен браузер Internet Explorer.

  2. Если вы можете запустить 200 экземпляров браузера на компьютере без selenium, вы, вероятно, сможете запустить аналогичное количество экземпляров, используя selenium grid. Конечно, Selenium grid сам по себе требует определенных ресурсов, но сам браузер гораздо более требователен, особенно когда вы начинаете загружать страницы и выполнять тесты. Я сомневаюсь, что вы смогли бы сделать это на практике.

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

Обновление: относительно узла SeleniumGrid по сравнению с узлом machine.

  • У вас может быть более одного узла SeleniumGrid (на разных портах) на одной машине.
  • Каждый узел SeleniumGrid может запускать только один тип браузера, но может иметь несколько экземпляров этого браузера, запущенных одновременно.

Еще раз обратите внимание на рассмотрение IE выше

Комментарии:

1. Когда вы говорите IE, вы имеете в виду браузер в целом, а не Internet Explorer, верно?

2. Нет, я имею в виду InternetExplorer. При запуске тестов в Intrenet Explorer окно должно быть в фокусе, иначе тесты будут сбиты с толку. И у вас не может быть более одного окна в фокусе, поэтому, если вы хотите запускать свои тесты в IE, у вас не может быть более одного браузера на узле, в котором запущен браузер Internet Explorer. Для других браузеров (например, GoogleChrome и FireFox) такого ограничения нет

3. Да, вы можете это сделать.

4. @Jeni Мне любопытно, как можно запустить несколько экземпляров браузера на одном узле? Разве смысл узла не в том, чтобы быть одним драйвером Selenium, и чтобы этот драйвер управлял одним браузером? У каждого узла есть свой собственный порт в сетке. Если бы вы могли запускать несколько браузеров на одном узле, это означало бы, что вы можете запускать несколько тестовых запусков на одном порту, что в первую очередь избавило бы от необходимости существования Selenium Grid. Если я вас не неправильно понял?

5. То же самое с Safari на macOS, относящееся к пункту 1 ответа.

Ответ №2:

Я не верю, что существует определенное число, определенное как ограничение. Любое ограничение по количеству в любом случае было бы произвольным. Ограничение никогда не будет на то, чтобы Selenium Grid обрабатывал слишком большое количество узлов X. Ограничение будет на ресурсы.

Если вы хотите запустить любое количество одновременных тестовых запусков Selenium на нескольких устройствах, агентах или рабочих пространствах внутри компьютеров, то Selenium Grid — это правильный путь.

Комментарии:

1. Таким образом, у меня может быть любое количество браузеров, запущенных на узле, пока ресурсы для этого узла могут это обрабатывать?

2. Нет, на узле может быть установлен один драйвер, и, следовательно, этот драйвер запускает один браузер. Но Selenium Grid может иметь любое количество узлов. Итак, у вас может быть 200 узлов, а это значит, что у вас есть 200 driver.exe одновременно запущено 200 окон браузера. Теоретически. Но для этого вам нужна тонна ресурсов. Если вы планируете разбить это на разделы на одной машине, эта машина должна быть достаточно мощной. Тем более, если эта автоматизация не выполняется без головы.