Что такое Selenium?

Читать в полной версии →

Selenium — комплекс решений для автоматизации работы браузеров и тестирования веб-приложений. Инструменты имеют открытый исходный код, что дает возможность тестировщикам менять продукты Selenium под свои запросы.

Selenium: преимущества и недостатки

Основные продукты Selenium

Selenium WebDriver

Библиотека для управления различными браузерами WebDriver — основной продукт проекта Selenium. Она включает в себя комплекс драйверов для разных браузеров и набор клиентских библиотек для этих драйверов на разных языках программирования: Python, .Net, Java, Ruby, JavaScript, C#. Решение позволяет управлять браузерами как локально, так и удаленно, через сервер Selenium.

Решение имеет простой интерфейс и используется для проведения тестов на всех основных браузерах: Google Chrome, Firefox, Edge и Safari. Принцип работы: библиотека направляет команды браузеру с помощью протокола API и получает в ответ результаты проведенных тестов.

WebDriver воспроизводит следующие действия пользователей:

Решение проверяет корректность работы приложения, скорость его загрузки и другие базовые параметры в автоматическом режиме.

Selenium RC (Remote Control)

Одна из предыдущих версий Selenium WebDriver с устаревшим функционалом. Она не развивается, не адаптируется и мало используется.

Selenium Server

Сервер для удаленного управления браузерами. Он поддерживает команды Selenium WebDriver и Selenium RC согласно следующему алгоритму действий:

  1. На компьютере, где необходимо настроить браузер, устанавливается и запускается сервер.
  2. На другом компьютере запускается программа со специальным драйвером RemoteWebDriver. Она подключается к серверу на первом компьютере и отправляет ему команды.
  3. Сервер запускает браузер и выполняет команды с помощью драйвера, соответствующему этому браузеру.

Selenium Grid

Selenium Grid — комплекс серверов для создания распределенной сети, чтобы одновременно запустить несколько браузеров на большом количестве ПК. Решение не является отдельным продуктом и функционирует как один из режимов запуска Selenium Server. Оно делает возможным параллельное тестирование, что позволяет специалистам экономить время при проведении долгосрочных наборов тестов.

Распределенная сеть представляет собой «звезду». Она состоит из выделенного сервера — хаба, или коммутатора, — и остальных серверов — нод, или узлов. На коммутатор и узлы можно устанавливать разные браузеры, и они могут работать под управлением разных операционных систем.

Selenium Grid поддерживает кросс-браузерное и кросс-платформенное тестирование. Основная задача решения — подбор нужного узла во время старта браузера по запросу клиента. Требования включают в себя версию и тип браузера, вид операционной системы, архитектуру процессора и т. д.

Selenium IDE

Специальный плагин для браузеров Mozilla Firefox и Chrome. Он записывает действия пользователя, воспроизводит их и генерирует код для Selenium WebDriver или Selenium RC. Библиотеки повторяют те же процессы. Плагин — продукт Selenium для работы со сценариями тестирования веб-страниц. Его основное преимущество — возможность фиксировать и сохранять тесты для их дальнейшей обработки. А еще Selenium IDE занимает всего 240 Кб.

У тестировщиков с минимальным опытом программирования не получится использовать Selenium IDE на полную мощность и разрабатывать сложные тестовые наборы с его помощью, так как они редко пользуются функцией преобразования записанных тестов в код. Но даже в этом случае расширения будет достаточно для работы с линейными сценариями.

Selenium IDE предлагает:

В рамках программы «QA-инженер по тестированию: с нуля до автоматизатора» вы научитесь проводить автоматизированное тестирование на всех видах мобильных и веб-приложений с использованием фреймворка Selenium.