Описание тега selenium-grid
Selenium Grid - это компонент проекта Selenium, который позволяет вам запускать тесты на разных машинах в разных браузерах параллельно. То есть одновременное выполнение нескольких тестов на разных машинах с разными браузерами и операционными системами. Тесты можно запускать на любом количестве машин одновременно.
Он обеспечивает как управление средой, так и распределение ресурсов, поскольку он отправляет ваши тесты на узлы в сетке. Управление средой позволяет вам осуществлять более детальный контроль над исполняемой средой, чем сам Selenium Server. Например, вы можете нацелить свои тесты на определенные версии браузера или определенные платформы.
Selenium Grid состоит из HUB и Node. Автономный исполняемый файл jar сервера Selenium может работать и как узел, и как концентратор. Для настройки Grid должен быть один HUB (сервер Selenium, работающий как HUB) и один или несколько узлов (сервер Selenium, работающий как Node), подключенных к HUB.
ЗА И ПРОТИВ
Selenium Grid - не серебряная пуля. Он решает подмножество общих проблем делегирования и распределения, но, например, не будет управлять вашей инфраструктурой и может не соответствовать вашим конкретным потребностям.
Плюсы
- Масштаб. Масштабирование путем распределения тестов на нескольких машинах с использованием параллельного выполнения.
- Центральная. Управляйте несколькими средами из центра, что упрощает запуск тестов в большом количестве браузеров и операционных систем.
- Свернуть. Сведите к минимуму время обслуживания сети, позволив вам реализовать настраиваемые хуки для использования виртуальной инфраструктуры зарегистрированных узлов.
- Кросс-платформенный. Если ваши тесты выполняются на одной конкретной платформе, используя узел на другой платформе, вы эффективно проводите кросс-платформенное тестирование.
- Умный. Grid может направлять команды в определенную версию браузера, если у вас есть два или более зарегистрированных узла, каждый из которых указывает на другую версию двоичного файла браузера.
Минусы
- Предлагаемый ввод. У вас нет возможностей для пользовательского ввода, если ваши тесты хотят запрашивать пользовательский ввод, тогда как вы бы сделали это, если бы ваши тесты выполнялись локально.
- Ремонтопригодность. Вам также необходимо поддерживать работоспособность других компьютерных систем, на которых работают ваши узлы.
- Ограниченная мощность. Некоторые сторонние библиотеки имеют ограничения, которые не позволяют использовать их вместе с Grid.
Ссылки: