1. Selenium Grid 4 с использованием Docker — Начало работы
Test Automation with Atul Sharma
0:00 / 0:00
1. Selenium Grid 4 с использованием Docker — Начало работы
3 019 просмотров · 3 г. назад
Test Automation with Atul Sharma
1,45 тыс. подписчиков
3 019 просмотров · 3 г. назад
Расположение репозитория Git: https://github.com/atulsharmacsk/Sele...
Selenium Grid 4 с Docker
Компоненты/Архитектура: Подробности см. в видео выше.
Роли:
Автономный режим — объединяет все компоненты Grid в один.
Хаб и узел — хаб на одной машине со всеми компонентами и отдельные узлы.
Распределенный режим — все компоненты на разных машинах.
https://www.selenium.dev/documentatio...
Выбор роли Grid:
Требования: Количество тестовых случаев, затраченное время.
Поддержка инфраструктуры: Создание сессий одновременно зависит от доступных процессоров у распределителя. Например, если машина имеет 4 процессора, распределитель сможет создать одновременно только до 4 сессий.
По умолчанию максимальное количество одновременно поддерживаемых сессий узлом ограничено количеством доступных процессоров. Например, если у Node-машины 8 процессоров, она может одновременно запускать до 8 браузерных сессий (за исключением Safari, для которого всегда одна). Кроме того, ожидается, что каждая браузерная сессия будет использовать около 1 ГБ оперативной памяти.
В целом, рекомендуется использовать как можно меньшие по размеру Node-машины. Вместо машины с 32 процессорами и 32 ГБ оперативной памяти для запуска 32 одновременных браузерных сессий, лучше иметь 32 небольших Node-машины, чтобы лучше изолировать процессы. Благодаря этому, если Node выйдет из строя, это произойдет изолированно. Docker — хороший инструмент для достижения такого подхода.
5 или менее узлов - Автономный/центральный узел
От 6 до 100 узлов - центральный/центральный узел
Более 100 узлов - распределенный
Краткая демонстрация -
Запустите контейнер Docker с Firefox:
docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.10.0-20230607
Направьте ваши тесты WebDriver на http://localhost:4444
Чтобы увидеть, что происходит внутри контейнера, перейдите по адресу http://localhost:7900/?autoconnect=1&resize=scale&password=secret.