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

docker
docker-selenium
selenium-grid
selenium
Теги: #<Tag:0x00007fedbc16fe48> #<Tag:0x00007fedbc16d4e0> #<Tag:0x00007fedbc18a018> #<Tag:0x00007fedbc189bb8>

(Roma Marinsky) #1

Ссылки: https://github.com/SeleniumHQ/docker-selenium, https://www.youtube.com/watch?v=_ybp7t2dbm0

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

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


Есть ли смысл переходить с Selenium Grid на Docker-selenium?
Python + Selenium Web Driver tools for automated testing
(Konstantin) #2

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


(Roma Marinsky) #3

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


(Yaroslav Pernerovskyy) #4

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


(Konstantin) #5

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

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


(Roma Marinsky) #6

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


(Roma Marinsky) #7

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


(Konstantin) #8

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

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


(Roma Marinsky) #9

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


(Konstantin) #10

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


(Roma Marinsky) #11

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


(Sergey Korol) #12

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

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


(Roma Marinsky) #13

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


(Sergey Korol) #14

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

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