Рубрика:
Администрирование /
DevOps
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
СЕРГЕЙ ЯРЕМЧУК, автор более 1000 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС, yaremchuk@samag.ru
HOWTO: playbook Ansible для Selenium Server
Разберем, как быстро развернуть Selenium Server из Ansible
Тестирование приложения – важный этап разработки. QA-тестировщик проверяет, правильно ли работают заявленные функции и есть ли ошибки. Только после прохождения всех проверок можно выпускать приложение. В небольших командах и проектах, не требующих большого количества шагов, весь процесс можно проводить вручную, на некотором промежуточном срезе. Но когда в проекте задействовано много разработчиков, результат нужно проверять уже для каждой ветки репозитория, перед мержем в мастер. А значит, необойтись без некоторой автоматизации.
Среди решений для тестирования веб-приложений особой популярностью пользуется Selenium [1]. Его основой является библиотека управления браузерами Selenium (в старой версии называлась Selenium WebDriver), представляющая собой клиентские библиотеки на разных языках и драйвера браузеров. На сегодня доступны драйверы для Firefox, Chrome, IE, Opera, Safari и ряда мобильных устройств.
Среди решений для тестирования веб-приложений особой популярностью пользуется Selenium. Его основой является библиотека управления браузерами |
Для удобства составления сценариев проект предоставляет Selenium IDE, доступный в виде расширения к Firefox, позволяющего записывать, сохранять и воспроизводить сценарии тестирования любых приложений, доступных через браузер. Сценарии сохраняются в формате HTML в виде таблицы, которую затем можно редактировать. Сценарии можно запускать вручную и по расписанию. Есть возможность устанавливать брэкпоинты и регулировать скорость выполнения и т.д. Возможен экспорт в формат, понимаемый другими фреймворками, для проведения тестов – NUnit, TestNG, JUnit и другие. Для небольших проектов этого вполне достаточно.
Еще один элемент, разрабатываемый проектом Selenium Server, который позволяет выполнять в браузере команды, полученные из сценария, запущенного с локальной или удаленной машины. На одном физическом сервере или вирутальной машине можно запустить несколько экземпляров Selenium Server, каждый из которых будет использовать свой порт. Серверы могут работать по отдельности, когда в сценарии указывается их количество и порт. Несколько серверов Selenium могут образовывать распределенную сеть, называемую Selenium Grid, позволяющую легко масштабировать стенд автоматизации. Оба варианта позволяют выполнить сценарий или сценарии параллельно, сокращая в итоге время тестирования. Осталось создать такой сервер.
Все операции будут производиться в Ubuntu 16.04 LTS. Хотя общие моменты подходят и для других ОС, отличия только в пакетных менеджерах. Системные требования квиртуальной машине небольшие. Достаточно 10 Гб места. Для каждого процесса Selenium Server нужен отдельный CPU, и, учитывая, что будет запускаться веб-браузер (на момент теста), потребуется ОЗУ. Причем после восьми потоков эта потребность растет нелинейно. Для 18 потоков достаточно 8 Гб оперативной памяти, лучше 12 Гб.
Статью целиком читайте в журнале «Системный администратор», №9 за 2017 г. на страницах 35-37.
PDF-версию данного номера можно приобрести в нашем магазине.
- Сайт Selenium – http://www.seleniumhq.org.
- Сайт Ansible – http://docs.ansible.com.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|