Какие проблемы решает docker-selenium VS selenium grid?

Ссылки: GitHub - SeleniumHQ/docker-selenium: Docker images for Selenium Grid, https://www.youtube.com/watch?v=_ybp7t2dbm0

Сейчас например есть такое окружение: сервер с хабом и нодами на виндах в виртуалках (с определёнными предустановленными хромами, лисами, иешками) эта лабуда 24/7 доступна. И иногда бегают тесты на этой машине

Если даже и не мне, то кому и чем может упростить жизнь docker-selenium?
Кто-что знает, поделитесь с необразованным, пожалуйста :slight_smile:

Я пользуюсь этой штукой, через докер компоуз запускаю хаб, 2 браузера и запускаю тесты паралельно. Давольно удобно и сам браузер на локалке не открывается, работает в бэкграунде.

А браузеры работают под какой ОС? Линукс или чем?
Просто не чётко представляю, что в ноде с браузером запускается ещё?
Насколько этот тул приближён к пользовательскому окружению или это применяется в другом контексте?

Основная идея в том, что бы не держать постоянно поднятый грид с нодами, который отжирает ресурсы, когда его никто не использует, а подымть его, только когда пришел запрос от тестов (это делаеться на докере очень быстро) таким образом можно легко реализовать масштабируемость и к тому же не париться про зависшие сессии, утечки памяти со временем и т.п. В основном это упрощает жизнь дев-опсам и одминам )

3 лайка

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

также можно создать свои сборки или скачать готовые докеры с разными конфигурациями и тогда будет развёртываться уже виртуалка и в ней селениум.

2 лайка

Т.е. это облегчит запуск UI тестов у разработчиков или на CI сервере?

В ноде с браузером какая ОС домашняя? Насколько объективны эти тесты если ос для ноды браузера это линукс, а у пользователей веб-приложением винды
Сильно ли отличается хром для линукса и хром для винды? Или это не имеет значения?

тут я ничего сказать не могу, у нас на проекте нету CI

у нас проект внутренний так что с ним работаем мы, и только на ФФ (такая вот хитрая фигня), поэтому тестируем только на ФФ и Линукс. Но на моей практике различие в браузерах на *nix/win системах были очень минимальные с браузерами FF / Chrome, в 99% случиях их просто небыло.

У нас тоже нет CI)
А разработчики у вас запускают UI тесты? Или какой сценарий передачи готовой задачи на тестинг?

UI тесты запускает тестеровщик по запросу разработчиков, а также каждое утро автоматически

Спасибо за полезные ответы)

Основной профит тут как раз должны получать девелоперы, т.к. им не нужно заморачиваться по поду поднятия и конфигурации автомейшен инфраструктуры. Но необходимо это для того, чтобы запускать e2e тесты локально по отношению к своему собственному backend / ui еще до непосредственного создания PR. Таким образом, мы можем проводить все фазы тестирования (исключая ручное) на ранних стадиях, значительно минимизируя появление новых багов. Ведь порой случается, что unit / integration тесты чисто физически не могут покрыть некоторую критическую функциональность. И тут на помощь приходит docker, который в 1 клик развернет, к примеру, grid, apache, browsermob, - что позволит запустить хотя бы smoke, дабы убедиться, что новая фича или багофиксы ничего не сломали.

docker-selenium поставляется с Ubuntu 16.04. А вообще можно использовать любой дистрибутив Linux.

1 лайк

А как с Windows дела обстоят? Не скоро ли появится поддержка docker-selenium с windows?

На винде можно запускать, но только через Docker Toolbox, который поднимает VirtualBox, дико жрущий ресурсы.

Но уже есть private beta под Mac и Win 10, где обещают полное отсутствие зависимости от VirtualBox. Правда ключи они не очень охотно раздают. Я еще в первый день появления новости отправил заявку - no luck.

1 лайк