Настройка максимального количества экземпляров и максимальных сессий для Selenium Standalone Server - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь установить максимальное количество экземпляров и максимальное количество сеансов для Selenium Standalone Server, так как есть большая вероятность, что мне понадобится немало экземпляров / браузеров.Я пробовал следующую команду:

xvfb-run java -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver -jar /usr/local/bin/selenium-server-standalone.jar -maxSession 100 -maxInstances 100

Однако я получаю следующую ошибку:

Исключение в потоке "main" com.beust.jcommander.ParameterException: Неизвестная опция: -maxSession в com.beust.jcommander.JCommander.parseValues ​​(JCommander.java:742) в com.beust.jcommander.JCommander.parse (JCommander.java:282) в com.beust.jcommander.JCommander.parse (JCommander.java:265) в com.beust.jcommander.JCommander. (JCommander.java:210) в org.openqa.grid.selenium.GridLauncherV3 $ 1.setConfiguration (GridLauncherV3.java:227) в org.openqa.grid.selenium.Gridildauncher3.GridLauncher3.(GridLauncherV3.java:155) at org.openqa.grid.selenium.GridLauncherV3.main (GridLauncherV3.java:75)

Подобные вещи случаются, когда я пытаюсь запустить его только с maxInstance.Как я могу настроить большое / бесконечное количество экземпляров / браузеров?какая сумма по умолчанию?(тоже нигде не могу найти) Заранее спасибо.

1 Ответ

0 голосов
/ 23 октября 2018

Согласно документации Selenium Grid, maxSession и maxInstances являются параметрами для узла, но не для концентратора.

-maxSession 5 (по умолчанию 5) Максимальное количество браузеров, которые могут параллельно работать на узле.Это отличается от maxInstance поддерживаемых браузеров (Пример: для узла, который поддерживает Firefox 3.6, Firefox 4.0 и Internet Explorer 8, maxSession = 1 гарантирует, что у вас никогда не будет запущено более 1 браузера. При maxSession = 2 вы можете иметь 2Тесты Firefox одновременно, или 1 Internet Explorer и 1 тест Firefox).(источник: https://github.com/SeleniumHQ/selenium/wiki/Grid2#optional-parameters)

Таким образом, в вашем случае вам, скорее всего, следует управлять несколькими параллельными потоками, настроив один или несколько потоков (рекомендуется как более безопасный, поскольку, если один из 100 узлов сломается, другие все равно будут в состояниивыполнить задание) узлы.

запустить концентратор с помощью: java -jar selenium-server-standalone-.jar -role концентратор запустить узел 1: java -jar selenium-server-standalone-<version>.jar -role node -port 4001 -hub http://localhost:4444/grid/register

запустить узел 2: java -jar selenium-server-standalone-<version>.jar -role node -port 4002 -hub http://localhost:4444/grid/register

... запустить узел 20: java -jar selenium-server-standalone-<version>.jar -role node -port 420 -hub http://localhost:4444/grid/register

даст вам сетку с 100 браузерами (так как 5 является значением по умолчанию для узла, и вы настроили 20 узлов)

Примечание: убедитесь, что ваше оборудование может поддерживать 100 экземпляров браузера, что, скорее всего, не будет, и вы захотите запускать узлы на нескольких виртуальных машинах.

Еще одно примечание: у сетки Selenium есть известный недостаток, когдаЕсть много узлов. В будущем, если вы хорошо работаете с запущенными браузерами на Linux, вы можете рассмотреть некоторые решения на основе докеров, такие как selenoid (https://github.com/aerokube/selenoid)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...