Selenium – это пакет программ с открытым исходным кодом. Они помогают тестировать программное обеспечение, а также администрировать его: локально или при помощи интернета.
Виды
Selenium — инструменты, помогающие работать с браузерами и веб-программами. Они способствуют автоматизации действий интернет-обозревателя.
В проект Selenium включены такие приложения:
- Selenium IDE;
- Selenium RC;
- Selenium WebDriver;
- Selenium Grid;
- Selenium Server.
Далее каждый инструмент будет рассмотрен более подробно. Также предстоит рассмотреть преимущества и недостатки всего проекта.
IDE
Это – плагин для браузера под названием Firefox. Позволяет записывать действия пользователя/тестировщика, а также воспроизводит их для тестирования.
IDE – это библиотека «Селениум» с графическим интерфейсом. Поддерживает работу со сценариями тестирования веб-страниц. IDE отвечает за непосредственную генерацию кода для WebServer или RC. Получившаяся запись повторяет записанные пользовательские манипуляции.
RC
Remote Control – ключевой продукт всего проекта до выхода WebDriver. Он послужил средством удаленного управления браузером. По функциональности сильно уступала WebDriver. До 2007 года данный инструмент выступал одним из основных в «Спектруме».
До сих пор поставляется вместе с дистрибутивом WebDriver. Развитие RC прекратилось.
Grid
Grid представляет собой кластер из нескольких Selenium-драйверов. Они позволяют управлять браузером удаленно через интернет. Данное приложение дает возможность организации сети, в которой запускается большое количество веб-браузером на большом количестве устройств.
Используется Grid для параллельного тестирования. Оно способствует экономии времени и ресурсов тестировщиков.
WebDriver
WebDriver является полноценной библиотекой для управления браузерами. На данный момент – основной продукт всего проекта. Представляет собой семейство драйверов для браузеров (Google Chrome, Opera, Safari browser, firefox и других), а также клиентские библиотеки на разных языках программирования для работы с драйверами.
WebDriver поддерживает:
- Java;
- .Net (C Sharp);
- Python;
- Javascript;
- Ruby.
Не выступает в качество готового инструмента для автоматизации тестирования. Представляет собой:
- спецификацию программного интерфейса, необходимую для совершения различных действий над браузером;
- референсные реализации интерфейсов для browsers (сразу нескольких);
- некий набор клиентских библиотек для интерфейса для нескольких языков разработки.
WebDriver – своеобразный браузерный драйвер. Библиотека без пользовательского интерфейса при помощи которой обеспечивается взаимодействие с другими приложениями, а также управление поведением интернет-обозревателя. Предоставляет автотестам доступ к браузеру. Это – единственная функция инструмента.
Особенности WebDriver
У WebDriver достаточно скудный интерфейс управления. Связано это с тем, что программа изначально разрабатывалась для упрощения работы с браузером. На интернет-обозреватели были наложены ограничения – интерфейсные стандарты. В них должен быть минимальный набор команд, реализованный в каждом browser.
При создании рассматриваемого компонента изначально была поставлена простая цель – программа WebDriver не должна иметь ничего лишнего. Стандартный интерфейс управления браузером должен оказаться на выходе достаточно простым, понятным и стабильным.
Из набора команд были устранены операции:
- select – для выпадающих списков;
- check;
- uncheck.
Перечисленные действия сводятся к одному элементарному – click.
За счет простоты интерфейса WebDriver наделен реализациями для большинства современных и популярных языков программирования. А еще он поддерживает интеграцию со всеми иными инструментами. С легкостью встраивается в любой стек. Selenium не пытается «победить» конкурентов – вместо этого он по мере необходимости «сливается» с ними.
Примеры библиотек и фреймворков
Сейчас на базе Selenium WebDriver появляются различные библиотеки для веб-программирования:
- Selenide;
- Water-webdriver;
- Fluent-selenium;
- Thucydides.
Они обладают более высоким уровнем абстракции. Также есть ряд популярных фреймворков на базе рассматриваемого инструмента. Они предназначаются для проектирования тестов:
- Thucydides;
- Robot Framework;
- Capybara.
Для того, чтобы работать с этим приложением «Селениума», потребуется браузер, а также его драйвер. Нужно написать скрипт или тест с набором команд на выбранном языке и активировать их через рассматриваемый компонент. Подобные скрипты будут использовать WebDriver bindings (готовые библиотеки), доступные всем пользователям на различных ЯП.
WebDriver API
Selenium регулярно обновляется. Сейчас существует WebDriver 3.0, получивший название API. Это усовершенствованная версия RC – тут отсутствует большинство ошибок предшественника. Целью создания послужила идея разработки объектно-ориентированного API, поддерживающего огромное количество браузеров для решения проблем современного тестирования. Этот продукт не привязан к тестовым фреймворкам, что позволяет использовать любые frameworks модульного тестирования.
Выше – примеры действий, которые можно производить при помощи WebDriver API.
Преимущества и недостатки Selenium
Selenium – это бесплатный пакет с открытым исходным кодом для организации тестирования с поддержкой основных языков разработки. Он используется в самых разных браузерах и операционных системах, включая мобильные платформы.
К его преимуществам относят:
- Наличие гибкого инструмента тестирования – WebDriver. Он с легкостью интегрируется с разными тестовыми фреймворками и иными программами для проверки ПО.
- Расширенный инструментарий тестировщика.
- Возможность применения проекта и его приложений для узкого спектра задач вроде web crawling и проверки производительности.
- Широкое распространение. Впервые Selenium появился в 2004 году. С тех пор его используют большинство крупных организаций вроде Google.
Недостатки у проекта тоже имеются. Пример – Selenium не поддерживает функции тестирования сетевых и десктопных приложений по умолчанию. Можно «проверять» только веб-программы. А для того, чтобы полноценно работать с «Селениумом», потребуется разобраться с навыками программирования и написанием скриптов. Новичкам данный проект не подойдет – он слишком сложный и требует углубленных знаний.
Как разобраться с Selenium
Если не хочется использовать более простые аналоги рассмотренного проекта (UFT или Katalon), можно закончить специализированные дистанционные https://otus.ru/catalog/courses?categories=programming. У них:
- Сроки обучения сжаты. Они варьируются от пары месяцев до года – в зависимости от выбранной программы.
- Разнообразные направления. Пользователи смогут подобрать один или несколько курсов в зависимости от имеющихся первоначальных знаний.
- Обучение сопровождается кураторством опытными специалистами, а также организовано полностью в режиме «онлайн».
- Постоянная практика и помощь в составлении портфолио.
В конце обучения выдается электронный сертификат, подтверждающий приобретенные навыки и знания. С дистанционными курсами Selenium осваивается быстро и легко.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus! Также обратите внимание на курсы по тестированию в Otus. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.