Как стать автором
Обновить

Комментарии 29

Спасибо. А есть статья по построению эффективной инфраструктуры тестирования? Очень интересно как все это правильно организовать.
Вас интересует именно Selenium или запуск автотестов тоже? Про Selenium было вот такое: https://habrahabr.ru/post/322742/
О спасибо. Как то я её пропустил. Конечно не только selenium, а правильный подход к правильной структуре системы функционального и нагрузочного тестирования с возможностью масштабирования, основанный на современном инструментарии.
Мы в Aerokube сейчас делаем масштабируемое решение по параллельному запуску автотестов в контейнерах примерно аналогичное Selenoid. Пока показать нечего. Когда будет первый работающий прототип, напишем об этом.
Спасибо. Будем ждать.
Заинтересовало, но уже в разделе Установка понял, что это не для Windows.
Сам докер для windows есть, но вот команды, которые приводятся Вами предназначены для линукса. И описания нет.
Можете привести описание настроек для докера под windows? Тогда бы Вашей статье цены не было бы! :)
Selenoid позволяет запускать драйверы процессами без докера, для этого в конфигурационном файле в поле image задается команда в виде json массива, примеры конфигурации можно посмотреть здесь:

https://github.com/aerokube/selenoid/issues/25

Это работает и на Windows с IEDriverServer'ом. Docker для Windows мы пока не поддерживаем.

Бинарные файлы можно скачать здесь:

https://github.com/aerokube/selenoid/releases
Еще про конфигурацию с драйверами написано тут: https://github.com/aerokube/selenoid#image Мы в ближайшем будущем планируем сделать возможность автоматической настройки Selenoid на разработческой машине, для локальной отладки тестов. Следите за обновлениями.

А есть ли в планах поддержка на Windows?

Selenoid работает на Windows и запускает процессы драйверов на свободном порту, которые в свою очередь запускают браузеры. Для изоляции браузеров на виртуальных десктопах можно использовать такую вещь:

https://github.com/kybu/headless-selenium-for-win

С Docker для Windows у нас пока отсутствует опыт работы.
Перезалейте, пожалуйста, все образы для инструмента с типом automated build. Тогда в интерфейсе будет прямая ссылка на репозиторий и видны исходные Dockerfile.
А мы их собираем вручную. Automated build предполагает, что собирает сам Docker.
Подскажите, пожалуйста, по таким вопросам:

1) Запускаю все как у вас в документации указано — сначала подтягиваются образы с браузерами, затем сам selenoid на 4444 порт, страница status выдает корректный ответ, а вот /wd/hub отдает 404 page not found. Не могу понять что еще требуется запустить?

2) будет ли поддержка браузера safari

Спасибо заранее!
По п.1 Саша отписал (см. ниже), по этой ссылке и должно отдаваться 404 на GET запрос (клиент Selenium делает POST). По п. 2 — насколько мне известно нельзя запустить Safari под Linux (только Mac и вроде бы Windows). При этом нельзя запустить Mac \ Windows в Docker. Как вы предполагаете запускать Safari? А кроме того мы проверяли — Safari в Selenium поддерживается через установку расширения в браузер (это нужно делать руками) и поддерживаются далеко не все функции API. На мой взгляд Safari — плохой кандидат на использование в Selenium.
Благодарю!
URL http://localhost:4444/wd/hub используется в тестах.

Selenoid имеет отдельный web интерфейс, который запускается в другом контейнере.

Такой командой:

# docker run -d --name selenoid-ui --net host aerokube/selenoid-ui:1.0.0

После этого откройте в браузере url: http://localhost:8080

Спасибо за статью!
Хотелось бы уточнить возможность распределенного запуска контейнеров между несколькими хостами.
Если я правильно понял, по настройке изложенной в статье, все контейнеры будут запускаться на хосте самого Selenoid.
Что нужно сделать для распределенного создания контейнеров на нескольких хостах?
Вы можете развернуть Docker Swarm и, через переменные окружения, такие же как для Docker клиента, нацелить на него Selenoid. В предыдущей статье описаны разные подходы к организации Selenium кластеров:

https://habrahabr.ru/post/322742/
Спасибо за ответ!
Спасибо, полезные инструменты!
НЛО прилетело и опубликовало эту надпись здесь
В /etc/selenoid находится конфигурация, конкретно browsers.json. Запись в /etc/selenoid не производится и несколько параллельных запусков могут безопасно разделять конфигурацию. Подробная документация находится здесь: aerokube.com/selenoid/latest
НЛО прилетело и опубликовало эту надпись здесь
Конфигурация задается системным администратором, browsers.json можно сформировать вручную, можно сгенерировать при помощи утилиты cm: aerokube.com/cm/latest. Если предполагается, что конфигурация не будет меняться, ее можно зашить в имидж в /etc/selenoid/browsers.json.
НЛО прилетело и опубликовало эту надпись здесь
Да, все правильно.
НЛО прилетело и опубликовало эту надпись здесь
По-умолчанию путь /etc/selenoid/browsers.json, но его можно перекрыть опцией -conf, формат файла описан здесь: aerokube.com/selenoid/latest/#_browsers_configuration_file

Пример конфигурационного файла доступен в исходном коде:
github.com/aerokube/selenoid/blob/master/config/conf.json
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации