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

Что такое селен?

Selenium автоматизирует браузеры. Вот и все! Что вы будете делать с этой силой, зависит только от вас. В первую очередь он предназначен для автоматизации веб-приложений в целях тестирования, но, конечно, этим не ограничивается. Скучные задачи веб-администрирования также можно (и нужно!) автоматизировать.

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

Какая часть Selenium мне подходит?

Селен веб-драйвер

Если хотите

  • создавать надежные наборы и тесты автоматизации регрессии на основе браузера
  • масштабировать и распространять скрипты во многих средах

Тогда вы хотите использовать Selenium WebDriver; набор языковых привязок для управления браузером — так, как он должен управляться.

Selenium WebDriver является преемником Selenium Remote Control, который официально объявлен устаревшим. Selenium Server (используемый как WebDriver, так и Remote Control) теперь также включает встроенные возможности сетки.

Селен IDE

Если хотите

  • создавать сценарии быстрого воспроизведения ошибок
  • создавать сценарии, помогающие в автоматизированном исследовательском тестировании

Тогда вы хотите использовать Selenium IDE; надстройка для Chrome и Firefox, которая будет выполнять простую запись и воспроизведение взаимодействий с браузером.

Селен веб-драйвер

Самым большим изменением в Selenium за последнее время стало включение API WebDriver. Нативное управление браузером, как пользователь, локально или на удаленном компьютере с помощью Selenium Server, знаменует собой скачок вперед с точки зрения автоматизации браузера.

Selenium WebDriver подходит для той же роли, что и RC, и включает оригинальные привязки 1.x. Это относится как к языковым привязкам, так и к реализации кода, управляющего отдельным браузером. Это обычно называют просто «WebDriver» или иногда Selenium 2.

Selenium 1.0 + WebDriver = Selenium 2.0

  • WebDriver разработан с использованием более простого и лаконичного интерфейса программирования, а также устранения некоторых ограничений в API Selenium-RC.
  • WebDriver — это компактный объектно-ориентированный API по сравнению с Selenium1.0.
  • Он намного эффективнее управляет браузером и преодолевает ограничения Selenium 1.x, которые повлияли на охват нашего функционального тестирования, такие как загрузка или загрузка файлов, всплывающие окна и диалоговые окна.
  • WebDriver преодолевает ограничение Selenium RC Single Host origin policy

WebDriver — это имя ключевого интерфейса, для которого тесты должны быть написаны на Java, классы реализации, которые следует использовать, перечислены ниже:

ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver

Для получения дополнительной информации о Selenium WebDriver см. разделы Документация и Удаленное управление в примечаниях по переходу на WebDriver.

Загрузки

Ниже вы можете найти последние версии всех компонентов Selenium. Вы также можете найти список предыдущих выпусков, исходный код и дополнительную информацию для пользователей Maven (Maven — популярный инструмент сборки Java).

Автономный сервер Selenium

Selenium Server необходим для запуска Remote Selenium WebDriver. Selenium 3.X больше не может запускать Selenium RC напрямую, он делает это через эмуляцию и интерфейс WebDriverBackedSelenium.

Скачать версию 3.141.59

Для запуска тестов Selenium, экспортированных из устаревшей IDE, используйте Selenium Html Runner.

Чтобы использовать Selenium Server в конфигурации Grid, см. вики-страницу.

Сервер драйверов Internet Explorer

Это необходимо, если вы хотите использовать новейшие и лучшие функции WebDriver InternetExplorerDriver. Пожалуйста, убедитесь, что это доступно в вашем $PATH (или %PATH% в Windows), чтобы драйвер IE работал должным образом.

Скачать версию 3.14.0 для (рекомендуется) 32-битный Windows IE или 64-битный Windows IE
CHANGELOG

Языковые привязки Selenium Client и WebDriver

Чтобы создавать сценарии, которые взаимодействуют с Selenium Server (Selenium RC, Selenium Remote WebDriver) или создавать локальные сценарии Selenium WebDriver, вам необходимо использовать клиентские драйверы для конкретного языка. Эти ла

Языки включают клиентов как 1.x, так и 2.x.

Хотя языковые привязки для других языков существуют, это основные, которые поддерживаются основным проектом, размещенным на GitHub.

Java3.141.592018–11–14 Скачать

C#3.14.02018–08–02 Скачать

Ruby3.14.02018–08–03 Скачать

Python3.14.02018–08–02 Скачать

Javascript (Node)4.0.0-alpha.12018–01–13 Скачать

С# NuGet

Последний выпуск NuGet — 3.14.0, выпущенный 2 августа 2018 г.

SafariDriver — УСТАРЕЛО — используйте SafariDriver от Apple с Safari 10+

SafariDriver теперь требует ручной установки расширения перед автоматизацией.

Селен IDE

Selenium IDE — это плагин для Chrome и Firefox, который записывает и воспроизводит взаимодействие пользователя с браузером. Используйте это либо для создания простых сценариев, либо для помощи в исследовательском тестировании.

Загрузите последнюю выпущенную версию для Chrome или для Firefox или просмотрите Примечания к выпуску.

Загрузите предыдущие версии IDE здесь.

Сторонние драйверы, привязки и плагины

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

Обратите внимание, что эти плагины не поддерживаются, не обслуживаются, не размещаются и не одобряются проектом Selenium. Кроме того, имейте в виду, что перечисленные ниже подключаемые модули не обязательно лицензируются в соответствии с лицензией Apache License v.2.0. Некоторые плагины доступны под другой лицензией на бесплатное программное обеспечение с открытым исходным кодом; другие доступны только по частной лицензии. Любые вопросы о плагинах и их лицензии на распространение необходимо задавать соответствующим разработчикам.