Эта статья пригодится тем, кто впервые сталкивается с таким решением, как Selenium, а также тем, кто хочет детальнее разобраться в хитросплетениях данного продукта. Мы будем отталкиваться от наиболее распространенных пакетов этого программного обеспечения.n
Что такое Selenium
Начнем с базового определения. По сути, это целый комплекс решений, содержимое которого можно объединить в один пакет для работы с различными сервисами. Стоит отметить, что все решения находятся в свободном доступе вместе с открытым кодом. Наиболее популярными являются следующие продукты:n
- Selenium WebDriver
- Selenium RC
- Selenium Server
- Selenium Grid
- Selenium IDE
Из-за разнообразной направленности ПО, многие путаются с определением Selenium, принимая его за конкретный продукт для одного сервиса. Разберем каждый из них.n
Что такое Selenium WebDriver
В первую очередь, это целая библиотека, которая создана для конфигурации браузеров. В обиходе этот пакет именуют, как «драйверы браузера» или Selenium 2.0, но на самом деле, в распоряжении пользователя также оказываются инструменты для тонкой настройки этих самых драйверов.nnДанный набор является наиболее распространенными, а потому справедливо выделяется как основной в проекте Selenium. Стоит отметить, что работу с браузерными драйверами можно вести на различных языках программирования, что значительно расширяет возможности библиотеки:nnSelenium используется в таких популярных браузерах, как Firefox и Internet Explorer. Не исключением является Safari. Все остальные браузеры оснащаются собственными пакетами драйверов и библиотек.nnSelenium поддерживает самые популярные библиотеки языков программирования, таких как Java или Python. С полным списком вы можете ознакомиться на официальном сайте поставщика.n
Что такое Selenium RC
Еще одной причиной путаницы в определении стало решение Selenium RC, которое обладает теми же свойствами, что и WebDriver. Да, это тоже набор библиотек для браузеров, но с учетом узкой направленности, а именно – возможности удаленного управления. Поэтому, арсенал возможностей RC куда ниже.nnЗабавно, что с течением времени, эта версия потеряла свою актуальность, а потому практически не пользуется спросом среди пользователей. На данный момент, основным пакетом решений считается именно WebDriver.nnЕще один факт. Если вас смутило альтернативное название WebDriver в виде Selenium 2.0, то теперь вам все станет ясно. Дело в том, что Selenium RC – это первая версия от создателей, которую позже решили объединить с отдельно разрабатываемой WebDriver (она же 2.0), в которую позже включили все возможности 1.0.n
Что такое Selenium Server
Данное решение создано с целью предоставить необходимый набор инструментов для управления браузером с помощью сервера, то есть, удаленного доступа. Принцип работы прост: в первую очередь, вы устанавливаете Selenium Server там, где будет работать прикладное программное обеспечения для серфинга, а потом разворачиваете пакет драйверов RemoteWebDriver на удаленном ПК. Работа всех сервисов синхронизируется посредством сетевого подключения:nnТакже стоит отметить, что благодаря единому проекту Selenium, серверный пакет поддерживается на всех версиях драйверов и библиотек: WebDriver и RC.n
Что такое Selenium Grid
Данное решение представлено в виде кластера серверов под управлением проекта Selenium. С помощью этого набора вы сможете управлять группой серверов и конфигурировать сеть на свое усмотрение. Таким образом, вам доступна возможность запуска того количества браузеров, которое необходимо для выполнения задачи.nnСреди особенностей пакета Selenium Grid стоит отметить его топологию. Она представлена по типу «звезды», где обязательно присутствует хаб, то есть, выделенный сервер. Все соединения образовываются с помощью узлов и не зависят от типа ОС, развернутой на основной машине. Подобное исполнение позволяет гибко подходить к решению поставленных задач, выстраивая цепочку из нескольких параметров: типа ОС, браузера, аппаратной части и много другого.nnВы можете настроить Selenium Grid таким образом, чтобы он работал в качестве единственного сервера, узла или хаба. Это стало возможно благодаря тому, что разработчики решили отделить пакет от общего серверного решения.n
Что такое Selenium IDE
Данное решение представлено в виде плагина, который поддерживается только в одном браузере – Firefox. Как и все вышеперечисленные пакеты, он дает возможность гибко настроить множество функций, таких как логирование, либо синхронизация с версиями WebDriver и RC. По сути, Selenium IDE позволяет записывать всю активность пользователя.nnСтоит отметить, что Selenium IDE стал популярен среди разработчиков, которые хотят быстро протестировать работу того или иного функционала в браузере. Пакет позволяет использовать множество готовых опций, которые можно задействовать независимо от других решений Selenium.