Селен

Селен

Selenium IDE.png
Основные данные

разработчик ThoughtWorks
Год публикации 2004 г.
Текущая  версия 3.141.59
( 19 декабря 2018 г. )
Операционная система Microsoft Windows , Linux , macOS , Solaris , FreeBSD и другие варианты Unix (на основе Java )
язык программирования Ява
Лицензия Лицензия Apache 2.0
selenium.dev

Селен является основой для автоматизированного тестирования программного обеспечения на веб - приложений , которая была разработана с помощью программирования команды из ThoughtWorks и опубликованы в виде свободного программного обеспечения под 2.0 лицензии Apache . Это широко используемый инструмент и один из самых популярных инструментов тестирования с открытым исходным кодом.

С помощью Selenium можно записывать взаимодействия с веб-приложением и автоматически повторять эти тесты по мере необходимости. Прежде всего, это может облегчить разработчикам веб-приложений необходимость много печатать - например, при заполнении веб-форм - и тем самым сделать тестирование более быстрым, гибким и надежным.

Selenium основан исключительно на HTML и JavaScript . Для быстрого старта можно использовать Selenium IDE . B. быть установленным и протестированным как надстройка Firefox : пользователь взаимодействует только с Firefox, Selenium записывает тест и воспроизводит его.

история

Джейсон Хаггинс основал Selenium в 2004 году, когда написал программу внутреннего тестирования веб-сайтов для своей компании ThoughtWorks . Со временем все больше и больше сотрудников ThoughtWorks присоединялись к его работе, пока Пол Хаммант, наконец, не присоединился к команде и возглавил разработку программы в направлении того, что сейчас называется Selenium Remote Control (RC).

В 2007 году Хаггинс перешел в компанию по разработке программного обеспечения Google , где вместе с другими программистами руководил дальнейшей разработкой и исправлением ошибок в программе. В то же время Саймон Стюарт разработал в ThoughtWorks средство управления браузером Webdriver. Поскольку разработчикам обоих проектов не казалось разумным продвигать два отдельных проекта, они решили объединить два проекта в «Selenium Webdriver» или «Selenium 2.0».

В 2008 году Филипп Ханригу разработал «Selenium Grid», который позволяет нескольким экземплярам Selenium работать одновременно на неограниченном количестве компьютеров. В результате время выполнения больших тестовых структур резко сократилось.

Название «Селен» произошло от шутливого замечания Хаггинса, который в электронном письме высмеял своего конкурента Меркьюри , упомянув, что отравление ртутью можно вылечить , приняв селен .

Версии

Селен 3

Финальная версия 3.0 доступна с 13 октября 2016 года. Среди прочего, сюда включены следующие изменения или нововведения:

Ява
минимальная версия - Java 8.
Пользователи WebDriver
Возможны исправления ошибок и простые обновления с версии 2.x.
Пользователи Selenium Grid
Возможны исправления ошибок и простые обновления с версии 2.x.
API WebDriver
только эти API по-прежнему поддерживаются.
API-интерфейсы Selenium RC
больше нет поддержки; Часть «устаревшего» пакета.
Поддержка Firefox
Начиная с Firefox 47.0.1 требуется Mozilla GeckoDriver.

Составные части

Селен Ядро

Основной модуль содержит полную базовую функциональность Selenium, то есть API тестовых команд и TestRunner. Используя основной модуль, веб-сайт TestRunner.html можно открывать в разных браузерах. Это позволяет проводить тесты совместимости с разными типами браузеров.

Selenium IDE

Selenium IDE - это надстройка для Google Chrome и Mozilla Firefox , с помощью которой можно записывать тестовые примеры непосредственно в браузере, взаимодействуя с веб-приложением, и воспроизводить их в браузере. В дополнение к чистой функциональности захвата-воспроизведения, проверки могут быть интегрированы с помощью verify и assert. Кроме того, поддерживается пошаговое воспроизведение тестовых примеров, установка точек останова для проверки тестовых примеров и повторное использование общих тестовых последовательностей. Отдельные тестовые наборы можно объединять в наборы тестов.

Selenium Remote Control (RC) (устарело)

RC - это устаревший модуль, который предоставляет собственный экземпляр сервера в виде прокси . Этот сервер Selenium управляется удаленно с помощью драйвера клиента Selenium. Это можно сделать на разных языках программирования, например: Б. в Java , .NET , Perl , PHP , Python , Ruby . В Java эти тестовые примеры могут быть выполнены, например, с помощью JUnit или TestNG . Это дает возможность автоматизации тестирования на GUI тестов в сочетании с непрерывной интеграцией .

С выпуском Selenium 2 Selenium RC был заменен Selenium WebDriver и помечен как устаревший, с выпуском Selenium 3 RC был перемещен в « устаревший » пакет и больше не доступен для загрузки на главной странице проекта.

Selenium WebDriver

Selenium WebDriver является преемником Selenium Remote Control. Он принимает команды (на Selenese или через клиентский API) и пересылает их в браузер. HtmlUnit - это специальность . Начиная с версии 3.0 HtmlUnit больше не является частью WebDriver. Это безголовый веб-браузер. Selenium WebDriver реализуется через драйвер браузера, благодаря чему поддерживаются наиболее распространенные браузеры.

Селеновая сетка

Selenium Grid является расширением Selenium RC и позволяет выполнять параллельное выполнение тестов на нескольких серверах, чтобы сократить продолжительность выполнения теста. Драйвер клиента Selenium подключается к компоненту Selenium Hub вместо сервера Selenium. Хаб, в свою очередь, пересылает тесты на бесплатные серверы Selenium. Существующие тестовые примеры для Selenium RC также можно использовать с Selenium Grid с небольшими изменениями. Однако тестовые примеры должны выполняться параллельно, например Б. с TestNG .

Использование селена

Различные программные продукты в тестовой среде основаны на Selenium, e. Б .:

  • Protractor , фреймворк для сквозного тестирования приложений AngularJS ,
  • WebTester , фреймворк для автоматизации тестирования пользовательского интерфейса
  • Appium , инструмент автоматизации тестирования с открытым исходным кодом для нативных и гибридных мобильных приложений (приложений)
  • BrowserStack , облачная тестовая платформа для мобильных и настольных интернет-приложений

литература

  • Майкл Каин: Селен. Автоматизированное тестирование веб-приложений , Open Source Press , ISBN 978-3-937514-57-4 .
  • Unmesh Gundecha: Поваренная книга Selenium 2 , ISBN 978-1-84951-574-0 .
  • Дэвид Бернс: Инструменты тестирования Selenium 2.0: Руководство для начинающих , ISBN 978-1-84951-830-7 .
  • К. Титус Браун, Георге Георгиу, Джейсон Хаггинс: Введение в тестирование веб-приложений с использованием саржи и селена , O'Reilly , ISBN 978-0-596-52780-8 .
  • Алан Джон Ричардсон: Selenium Simplified, Compendium Developments , ISBN 978-0-9567332-1-4 .
  • Вопросы для собеседования с инструментами тестирования Selenium, которые вам, скорее всего , зададут, CreateSpace Independent Publishing, ISBN 978-1-4637-6813-3 .

веб ссылки

Индивидуальные доказательства

  1. Релиз 3.141.59 . 19 декабря 2018 г. (по состоянию на 20 декабря 2018 г.).
  2. Релиз 3.141.59 . 19 декабря 2018 г. (по состоянию на 4 марта 2021 г.).
  3. Продвинутый семинар по веб-инженерии
  4. ^ Искусство модульного тестирования: немецкое издание, стр. 290 Рой Ошеров, Mitp-Verlag
  5. Александр Нойман: Были опубликованы интеграционные тесты: Selenium 3. В: Heise online - разработчик heise. Heise Medien, 14 октября 2016 г., по состоянию на 1 февраля 2017 г .: «один из наиболее широко используемых инструментов в веб-разработке».
  6. Автоматизированные процедуры тестирования веб-приложений (PDF; 944 kB) Оливер Фишер, кандидатская диссертация на кафедре структур данных и надежности программного обеспечения в BTU Cottbus
  7. а б Скоро появится Selenium 3. 4 октября 2016 г., дата обращения 15 октября 2016 г. (анонс Selenium 3 в блоге разработчиков).
  8. Домашняя страница Selenium. Проверено 29 июля, 2016 .