Связаться по:
[email protected]

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Playbook Ansible для Selenium Server

5/5 - (1 голос)

Готовим плейбук

Для работы Selenium Server понадобится Java, драйверы и браузеры. Мы будем устанавливать драйверы и браузеры Firefox и Chrome как наиболее популярные. Для тестирования основных функций этого более чем достаточно. Основы работы в Ansible можно найти на сайте проекта. В плейбуке оставлены основные функции, достаточные для работы. При необходимости можно расширить.

Для удобства последующего обновления задаем переменные. Пока будем запускать две копии Selenium Server на портах, указанных в selenium.ports. При желании можно расширить на любое количество, просто добавив нужные номера.

Указываем роли.

Для работы будем использовать официальную версию Java от Oracle, для установки которой необходимо подключить репозиторий.

При установке пакета задаются вопросы, поэтому нужно сконфигурировать ответ.

Ставим пакеты. name:

Роль простая. При необходимости ее можно использовать для развертывания Java на других серверах.

Теперь Selenium. Для работы понадобятся веб-браузеры (можно поставить один из них), драйверы и собственно Selenium. Версию самого Selenium, драйвера и веб-браузера не обязательно брать последнюю. Проекты развиваются, и постоянно происходят разные нестыковки. Хотя в последнем релизе селениума обычно устраняют все известные проблемы.

Добавляем ключ и репозиторий Google Chrome.

Все остальные зависимости уже есть в репозитории. Запуск Selenium Server на сервере без графической оболочки требует framebuffer сервера – xvfb.

Создадим каталог для файлов Selenium. Я предпочитаю все класть в /opt. name:

Скачиваем сервер selenium-server-standalone и копируем на свое место.

Драйверы должны быть видны в переменой PATH. Поэтому каталог для них другой. Можно положить в тот же каталог, что и selenium-server, и изменить настройки, но так более универсально.

Теперь осталось все это запустить. Так как планируется использовать несколько копий Selenium Server ,то для запуска используем шаблон.

В результате работы этой части в каталоге /etc/systemd/ system будет создано несколько файлов с именем вроде selenium-4444.service. Включаем автозагрузку сервисов при перезагрузке ОС.

Команда для запуска сервера Selenium такая:

По умолчанию используется порт 4444, остальным копиям можно задавать любые удобные. Осталось написать шаблон для запуска сервиса через systemd.

Сам шаблон с именем selenium.service.j2 копируем в каталог roles/selenium/templates.

Два момента. Запуск здесь происходит от root, это не очень хорошо. Лучше создать отдельную учетную запись, дав права на доступ в рабочие каталоги. Журналы при большом количестве очень быстро разрастаются и забирают много места. Если они не нужны, то после отладки их лучше отключить и настроить ротацию.

После запуска плейбука netstat покажет, что слушаются нужные порты. Можем подключиться к ним в браузере http:// server_ip:4444/wd/hub (см. рис. 1) и попробовать создать сессию (см. рис. 2).Работающий Selenium Server Если все нормально, то задача, считаем, выполнена. Так как Selenium никак не авторизируются, то, если используется сервер, находящийся за пределами внутренней сети, порты лучше прикрыть при помощи iptables, разрешив доступ только с определенных IP. Правила можно сразу генерировать плейбуком.

Создаем сессию ansible
Наша компания предоставляет услуги Devops администратора, обращайтесь [email protected] и мы поможем автоматизировать процессы.

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.