Разделы портала

Онлайн-тренинги

.
Selenium, Selenoid, Selenide, Selendroid… Что все это значит?
30.06.2020 00:00

Автор: Виталий Котов

В мире автоматизации новичку ориентироваться довольно сложно. Приходится узнавать множество понятий, разбираться в особенностях существующих инструментов. Например, вот: Selenium, Selenide, Selenoid, Selendriod — что это, чем отличается? Да и можно ли их сравнивать?

Написал статью, чтобы помочь в этом разобраться. Кому интересно, добро пожаловать под кат!


Selenium

Selenium — это инструмент для автоматизированного управления браузерами.

В рамках проекта Selenium разрабатывается серия программных продуктов с открытым исходным кодом:

  • Selenium Server,
  • Selenium Grid,
  • Selenium IDE и т.д.

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

После установки Selenium Server к нему можно обращаться с другого компьютера для удаленного управления браузерами по специальному протоколу, который написан поверх HTTP.

Коротко — Selenium Server помогает управлять браузерами на определенной машине.

Более подробно можно почитать здесь: https://www.seleniumhq.org/

Selenium Grid устанавливается на одном компьютере и может работать удаленно с несколькими другим, на которых установлены Selenium Server.

Он создан для того, чтобы запускать тесты на большом количестве машин, обращаясь только к одной, на которой установлен Selenium Grid.

Для создания сессии (т.е. запуска браузера) мы всегда будем приходить на компьютер, где стоит Selenium Grid. Он уже сам решит, какая машина менее нагружена для этого и туда и перенаправит команду.

Все машины, с которыми работает Selenium Grid, могут работать под управлением разных операционных систем, на них могут быть установлены разные браузеры.

Коротко — Selenium Grid нужен для организации работы с несколькими машинами, где установлен Selenium Server.

Более подробно можно почитать здесь: https://www.seleniumhq.org/docs/07_selenium_grid.jsp

Selenium IDE – это плагин к браузеру Firefox, с помощью которого можно записывать и воспроизводить действия пользователя.

Он не имеет особого отношения ни к Selenium Server, ни к Selenium Grid и позволяет работать только с локальным браузером.

Более подробно можно почитать здесь: https://www.seleniumhq.org/selenium-ide/

Selenide

Selenide — это один из фреймворков для автоматизированного тестирования веб-приложений. С его помощью можно быстро и относительно просто писать код, который будет формировать и отправлять HTTP-команды на Selenium Server или Selenium Grid.

Он заточен под то, чтобы писать такие сценарии, которые будут проверять работу веб-приложения: поиск нужных элементов, проверка событий, взаимодействие с UI и так далее.

Несмотря на схожесть названия с линейкой программ Selenium, сам Selenide разрабатывают другие ребята.

Коротко — с Selenide проще писать код, который заточен именно под тестирование веб-приложения.

Более подробно можно почитать здесь: https://ru.selenide.org/

Selenoid

Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере.

Selenoid представляет собой альтернативное решение Selenium Server, хотя суть та же — организация работы драйверов.

Основная идея Selenoid состоит в том, чтобы запускать новый контейнер для каждой сессии (запуска нового браузера или эмулятора) и останавливать его сразу же после закрытия сессии.

Selenoid позволяет поддерживать высокую нагрузку без дополнительных ресурсозатрат.

Более подробно можно почитать здесь: https://aerokube.com/selenoid/latest/

Selendroid

Selendroid — это фреймворк для автоматизированного тестирования мобильных приложений на базе Android.

Используется на ранних версиях Android — до 17 level api (android 4.2). Но не выше.

Коротко — это уже не очень актуальные фреймворк для работы с Android-приложениями.

Более подробно можно почитать здесь: http://selendroid.io

Итого

Инструментов много, каждый предназначен для своих задач. Постарался коротко и без воды рассказать про группу Selen-проектов. :)

Если такой формат будет интересен, далее сделаю обзор на инструменты для мобильной автоматизации.

Спасибо за внимание


Если Вам интересно больше узнать про автоматизацию тестирования, приходите на наш курс Автоматизатор мобильных приложений.

В рамках курса мы поговорим о том, как с нуля написать универсальные тесты для Android и iOS, как запускать их в CI Jenkins и под конец захватим довольно объемную тему автоматизации мобильного веба.

Обсудить в форуме