Сейчас например есть такое окружение: сервер с хабом и нодами на виндах в виртуалках (с определёнными предустановленными хромами, лисами, иешками) эта лабуда 24/7 доступна. И иногда бегают тесты на этой машине
Если даже и не мне, то кому и чем может упростить жизнь docker-selenium?
Кто-что знает, поделитесь с необразованным, пожалуйста
Я пользуюсь этой штукой, через докер компоуз запускаю хаб, 2 браузера и запускаю тесты паралельно. Давольно удобно и сам браузер на локалке не открывается, работает в бэкграунде.
А браузеры работают под какой ОС? Линукс или чем?
Просто не чётко представляю, что в ноде с браузером запускается ещё?
Насколько этот тул приближён к пользовательскому окружению или это применяется в другом контексте?
Основная идея в том, что бы не держать постоянно поднятый грид с нодами, который отжирает ресурсы, когда его никто не использует, а подымть его, только когда пришел запрос от тестов (это делаеться на докере очень быстро) таким образом можно легко реализовать масштабируемость и к тому же не париться про зависшие сессии, утечки памяти со временем и т.п. В основном это упрощает жизнь дев-опсам и одминам )
я себе скачал просто стандартную сборку селениума, я использую для паралельного запуска, так что запускается всё на моей машине (Linux) и через докер компоуз я могу быстро выбрать сколько браузеров мне нужно.
также можно создать свои сборки или скачать готовые докеры с разными конфигурациями и тогда будет развёртываться уже виртуалка и в ней селениум.
В ноде с браузером какая ОС домашняя? Насколько объективны эти тесты если ос для ноды браузера это линукс, а у пользователей веб-приложением винды
Сильно ли отличается хром для линукса и хром для винды? Или это не имеет значения?
тут я ничего сказать не могу, у нас на проекте нету CI
у нас проект внутренний так что с ним работаем мы, и только на ФФ (такая вот хитрая фигня), поэтому тестируем только на ФФ и Линукс. Но на моей практике различие в браузерах на *nix/win системах были очень минимальные с браузерами FF / Chrome, в 99% случиях их просто небыло.
Основной профит тут как раз должны получать девелоперы, т.к. им не нужно заморачиваться по поду поднятия и конфигурации автомейшен инфраструктуры. Но необходимо это для того, чтобы запускать e2e тесты локально по отношению к своему собственному backend / ui еще до непосредственного создания PR. Таким образом, мы можем проводить все фазы тестирования (исключая ручное) на ранних стадиях, значительно минимизируя появление новых багов. Ведь порой случается, что unit / integration тесты чисто физически не могут покрыть некоторую критическую функциональность. И тут на помощь приходит docker, который в 1 клик развернет, к примеру, grid, apache, browsermob, - что позволит запустить хотя бы smoke, дабы убедиться, что новая фича или багофиксы ничего не сломали.
docker-selenium поставляется с Ubuntu 16.04. А вообще можно использовать любой дистрибутив Linux.
На винде можно запускать, но только через Docker Toolbox, который поднимает VirtualBox, дико жрущий ресурсы.
Но уже есть private beta под Mac и Win 10, где обещают полное отсутствие зависимости от VirtualBox. Правда ключи они не очень охотно раздают. Я еще в первый день появления новости отправил заявку - no luck.