Selenium что это? Эта статья простыми словами расскажет вам об этом. Из нее вы узнаете, где и для чего он применяется и как работает. Эта статья для новичков, которые интересуются IT профессией и хотят больше узнать о специальностях тестировщика или программиста. Понять специфику их работы.
Содержание статьи:
Selenium что это и где чаще используется?
Selenium — это программируемый драйвер браузера. Он позволяет выполнять команды в браузере.
Варианты его использования:
- Вспомогательная библиотека, которую можно подключать и использовать на любом стандартном языке программирования — Selenium WebDriver.
- Интеграция драйвера внутрь браузера с предоставлением пользовательского интерфейса для описания сценария, состоящего из линейной последовательности команд — Selenium IDE.
- Программа для запуска тестов на нескольких компьютерах одновременно — Selenium Grid.
Наиболее широкое применение он получил в автоматизации тестирования. В тестировании можно автоматизировать много разных задач:
- Подготовку тестовых окружений.
- Подготовку тестовых данных.
- Формирование отчетов о результатах.
- Частично создание и выполнение тестов.
- Проверки работы тестируемой системы.
Но чаще автоматизируется выполнение тестов, а именно автоматизация воздействий и проверка работы системы на соответствие тому, что ожидается получить. И в этом помогает какой-либо инструмент или робот. Роботы делятся на интерактивные и программируемые роботы. Первые не обладают интеллектом и просто повторяют или усиливают действия человека. А вторые действуют автономно по заранее созданной программе, в которой описаны действия, реакция на события, запуск программы. И далее робот исполняет эту программу.

Selenium является примером такого робота для драйвера браузера. Осталось разобраться, что такое драйвер браузера. Для этого необходимо понять, как устроены инструменты, позволяющие автоматизировать выполнение теста.
Эти инструменты выстраиваются в стек автотестирования:
- Тесты.
- Драйвер тестируемой системы.
- Тестируемая система.
Стек происходит от английского слова stack, которое переводится как стопка, груда. В программировании этот термин можно обозначить как список с принципом действия первый вошел, последний вышел.

Тесты должны взаимодействовать с системой, которую мы проверяем. Для обеспечения возможности такого взаимодействия необходим драйвер. Тест — это программа, которая объясняет, какие действия нужно сделать и какие проверки выполнить. Она отдает команды, и набор команд, который можно использовать, определяется драйвером проверяемой системы.
Если вам интересны профессии IT-направления, пройдите бесплатный курс от Яндекса «Какую профессию в программировании выбрать».
Какие команды может выполнять?
Если говорить о тестировании через пользовательский интерфейс, то это означает, что драйвер должен уметь нажимать кнопки компьютерной мыши и клавиатуры. Вернее сказать, не нажимать, а симулировать эти действия. Потому что это не настоящий физический робот. А он находится внутри компьютера и воспроизводит действия пользователя.
На этом стек не заканчивается. Далее идут:
- Инструменты для запуска тестов и генерации отчетов.
Потом:
- Сборщики, задача которых состоит в подготовке тестов к запуску. В том числе к загрузке всех вспомогательных компонентов, которые необходимы для запуска.
И в конце:
- Сервер интеграции, который запускает тесты по расписанию или при наступлении заданного события. Например, при изменении, произошедшем в тестируемой системе или тестах.
В полном виде стек выглядит так:

Верхняя часть стека не обязательна. Тесты можно запускать и без трех верхних позиций. Но драйвер тестируемой системы необходим, потому что кто-то должен предоставить набор команд. И именно эту роль выполняет «Селениум». И он умеет управлять браузером. Он предоставляет команды для того, чтобы браузер мог запускать, останавливать, выполнять действия. Например, открывать страницы, искать элементы, узнавать свойства элементов. Программу можно писать на любом стандартном языке или на языке теста.
Если вам интересна профессия тестировщик, читайте на эту тему: Тестировщик кто это и чем занимается в IT?
Selenium WebDriver
При этом необходимо подключить дополнительную библиотеку, которая называется Selenium WebDriver. Она и будет выступать в роли драйвера тестируемой системы. При помощи библиотеки можно запускать, выполнять команды и останавливать браузер.
Как это приблизительно будет выглядеть, показано на примере для браузера Firefox и сайта selenium2.ru:
Код теста, который состоит из следующих действий:
- Запускается драйвер для браузера.
- Устанавливаются настройки ожиданий.
- Открывается страница сайта в браузере.
- Находится элемент по заданным условиям (в примере: по имени).
- Вводится текст + клавиша «enter». Запускается поиск.
- Результат поиска, размер результата поиска больше нуля.
- Браузер останавливается.
В результате получилась программа, которая при помощи Selenium WebDrive управляет браузером Firefox и осуществляет поиск по заданным условиям на сайте selenium2.ru.
Запускаем тест. В результате он завершен успешно, о чем свидетельствует зеленый цвет кружка теста.

Selenium IDE
Для тех, кто не умеет или не хочет писать на стандартных языках программирования, есть альтернативный вариант, и называется он Selenium IDE. Это инструмент, который представляет собой дополнение к браузеру Firefox. Он устанавливается непосредственно внутрь браузера и выступает в качестве браузера и среды для разработки тестов.
В нем нет полноценного языка программирования, но есть набор команд, которые можно выполнять. И из этих команд составляется простой линейный сценарий или цепочка команд.
Пример поиска по заданным условиям на том же сайте selenium2.ru:
Таблица с перечисленными командами:
- Open — открыть страницу с указанным адресом.
- Type — ввести текст с определенными условиями.
- Sendkeys — запустить поиск.
- WaiteForElementPresent — дождаться результатов.
Запускаем тест и видим, как команды становятся зелеными. Значит, они успешно отработали и в окне браузера видно, что действия выполнялись.

Selenium Grid
Selenium Grid позволяет одновременно запускать несколько тестов на различных компьютерах, которые работают с разными браузерами и в разных операционных системах. Он поддерживает запуск тестов в распределенной среде и ускоряет их выполнение с использованием нескольких машин для параллельной работы.
Бесплатный курс от «Stepik»: Автоматизация тестирования с помощью Selenium и Python.
Список поддерживаемых браузеров
В таблице представлен список браузеров, которые поддерживает Selenium. Также операционные системы, в которых они работают, и разработчики.

Секрет популярности Selenium
Это инструмент для автоматизации веб-страниц. Его не используют для мобильных приложений. Для этого, как правило, применяется appium trainer. Но «Селениум» широко распространен в тестировании веб-страниц, и практически у него нет аналогов. Вернее, они есть, но в них работает намного меньшее количество программистов.
Секрет популярности Selenium в том, что у него открытый код и большая база пользователей. Это означает, что в интернете можно найти ответ на любой вопрос. И каждый, кто хочет с ним работать, может это делать. А по инструментам, которые менее популярны, труднее найти интересующую информацию.
Selenium широко распространен как в больших, так и в маленьких компаниях. Если вы будете искать работу тестировщика, то на собеседовании вы столкнетесь с вопросами по использованию этого инструмента. Именно поэтому нужно его знать. Он поддерживает практически все языки программирования: Java, Python, JavaScript, C-Sharp, Ruby, PHP, Perl, Scala.
Если вы работаете в компании как мануальный тестировщик, то это прекрасная возможность использовать эту платформу. Особенно в случае, когда в вашей команде автоматизированные тесты работают при помощи Selenium. Бывает страшно углубиться в мир автоматизации? Тогда самый простой способ — это посмотреть, какие тесты используются, а какие сломаны. И когда вы смотрите на ошибки, проще понять, что сломано и как они работают. Просто сравнив эти тесты.
Курсы тестировщиков, которые дают знания по работе с инструментом Selenium
Если вам интересна профессия тестировщика ПО и вы хотите обучиться автоматизированному тестированию, то курсы, на которых обучают работе с этим инструментом, представлены ниже. Они разделены в зависимости от того, хотите вы получить знания по ручному и автоматизированному тестированию сразу. Или знания по ручному тестированию вы уже имеете.
На всех этих курсах изучают Selenium в различном объеме. Это зависит от выбранной специализации и знаний, которые для нее необходимы. Но в любом случае их будет достаточно для того, чтобы овладеть профессией и найти работу. Вы можете ознакомиться с программой курсов, перейдя по ссылкам.
Курсы по автоматизированному тестированию
- Skillbox. Автоматизированное тестирование на Java.
- Skillbox. Профессия Инженер по автоматизации тестирования.
- Skillbox. Автоматизированное тестирование веб-приложений на JavaScript.
- Яндекс Практикум. Автоматизатор тестирования на Java. (Есть базовая и расширенная версии).
- Яндекс Практикум. Автоматизатор тестирования на Python. (Есть базовая и расширенная версии).
- Академия Eduson. Автоматизированное тестирование на Python.
Курсы по ручному и автоматизированному тестированию
- Академия Eduson. Тестировщик ПО.
- Skillfactory. Профессия тестировщик.
- Нетология. Инженер по тестированию.
- Яндекс Практикум. Инженер по тестированию: от новичка до автоматизатора.
Заключение
Selenium что это? Об этом доступно и простым языком рассказано в этой статье. Также из нее вы узнаете, где эта программа применяется и для чего нужна. Надеюсь, она была вам полезна.

