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