Что такое селен?
Selenium - это бесплатная автоматизированная среда тестирования (с открытым исходным кодом), используемая для проверки веб-приложений в различных браузерах и платформах. Вы можете использовать несколько языков программирования, таких как Java, C #, Python и т. Д., Для создания тестовых скриптов Selenium. Тестирование, проводимое с помощью инструмента тестирования Selenium, обычно называется тестированием Selenium.
Selenium Software - это не просто инструмент, а набор программного обеспечения, каждая часть которого удовлетворяет различные потребности организации в тестировании Selenium QA. Вот список инструментов
- Интегрированная среда разработки Selenium (IDE)
- Селен пульт дистанционного управления (RC)
- WebDriver
- Селеновая сетка
На данный момент Selenium RC и WebDriver объединены в единую структуру, чтобы сформировать Selenium 2 . Selenium 1, кстати, относится к Selenium RC.
Нажмите здесь, если видео недоступно
В этом руководстве вы узнаете:
- Что такое селен?
- Кто разработал селен?
- Та же проблема с политикой происхождения
- Рождение Selenium Remote Control (Selenium RC)
- Рождение Selenium Grid
- Рождение Selenium IDE
- Рождение WebDriver
- Рождение Selenium 2
- Итак, почему название Selenium?
- Краткое введение в Selenium IDE
- Краткое введение Selenium Remote Control (Selenium RC)
- Краткое введение WebDriver
- Селеновая сетка
- Примечание о поддержке браузера и среды
- Как правильно выбрать селен-инструмент для ваших нужд
- Сравнение Selenium и QTP (теперь UFT)
- Преимущества QTP перед Selenium
Кто разработал селен?
Поскольку Selenium представляет собой набор разных инструментов, у него тоже были разные разработчики. Ниже приведены ключевые лица, внесшие заметный вклад в проект Selenium.
В первую очередь, Selenium был создан Джейсоном Хаггинсом в 2004 году . Инженер в ThoughtWorks работал над веб-приложением, которое требовало частого тестирования. Осознав, что повторяющееся ручное тестирование их приложения становится все более и более неэффективным, он создал программу на JavaScript, которая автоматически контролировала действия браузера. Он назвал эту программу « JavaScriptTestRunner ». Увидев в этой идее потенциал для автоматизации других веб-приложений, он сделал JavaScriptRunner с открытым исходным кодом, который позже был переименован в Selenium Core . |
Та же проблема с политикой происхождения
Политика Same Origin запрещает коду JavaScript доступ к элементам из домена, отличного от того, где он был запущен . Например, HTML-код на www.google.com использует программу JavaScript "randomScript.js". Такая же политика происхождения разрешает только randomScript.js доступ к страницам в google.com, таким как google.com/mail, google.com/login или google.com/signup. Однако он не может получить доступ к страницам с разных сайтов, таких как yahoo.com/search или guru99.com, потому что они принадлежат разным доменам.
Это причина, по которой до Selenium RC тестировщикам приходилось устанавливать локальные копии как Selenium Core (программы JavaScript), так и веб-сервера, содержащего тестируемое веб-приложение, чтобы они принадлежали к одному домену.
Рождение Selenium Remote Control (Selenium RC)
К несчастью; Тестировщики, использующие Selenium Core, должны были установить все тестируемое приложение и веб-сервер на свои собственные локальные компьютеры из-за ограничений, накладываемых одной и той же политикой происхождения. Поэтому другой инженер ThoughtWork, Пол Хаммант , решил создать сервер, который будет действовать как HTTP-прокси, чтобы «обмануть» браузер , заставив его поверить в то, что Selenium Core и тестируемое веб-приложение происходят из одного домена. Эта система получила название Selenium Remote Control или Selenium 1 .
Рождение Selenium Grid
Selenium Grid был разработан Патриком Лайтбоди, чтобы максимально сократить время выполнения тестов. Первоначально он называл систему « Хостинг QA ». Он был способен снимать скриншоты браузера на значительных этапах, а также отправлять команды Selenium на разные машины одновременно.
Рождение Selenium IDE
Шинья Касатани из Японии создал Selenium IDE , расширение Firefox, которое может автоматизировать работу браузера с помощью функции записи и воспроизведения. Он придумал эту идею, чтобы еще больше увеличить скорость создания тестовых примеров. Он пожертвовал Selenium IDE проекту Selenium в 2006 году .
Рождение WebDriver
Саймон Стюарт создал WebDriver примерно в 2006 году, когда браузеры и веб-приложения становились все более мощными и более ограничивающими с программами JavaScript, такими как Selenium Core. Это была первая кросс-платформенная среда тестирования, которая могла управлять браузером на уровне ОС.
Рождение Selenium 2
В 2008 году вся команда Selenium решила объединить WebDriver и Selenium RC, чтобы сформировать более мощный инструмент под названием Selenium 2 , ядром которого является WebDriver . В настоящее время Selenium RC все еще находится в стадии разработки, но только в режиме обслуживания. Большая часть усилий проекта Selenium сейчас сосредоточена на Selenium 2.
Итак, почему название Selenium?
Название Selenium произошло от шутки, которую Джейсон однажды рассказал своей команде. Во время разработки Selenium была популярна еще одна среда автоматизированного тестирования, созданная компанией под названием Mercury Interactive (да, компания, которая изначально создавала QTP до того, как она была приобретена HP). Поскольку селен - хорошо известное противоядие от отравления ртутью, Джейсон предложил это имя, а его товарищи по команде взяли его. Вот как мы получили эту структуру до настоящего времени.
Краткое введение в Selenium IDE
Интегрированная среда разработки Selenium (IDE) - это простейший фреймворк в пакете Selenium, который легче всего изучить . Это плагин Firefox, который вы можете установить так же легко, как и другие плагины. Однако из-за своей простоты Selenium IDE следует использовать только в качестве инструмента для создания прототипов . Если вы хотите создать более сложные тестовые примеры, вам нужно будет использовать Selenium RC или WebDriver.
Краткое введение Selenium Remote Control (Selenium RC)
Selenium RC долгое время был флагманским фреймворком для тестирования всего проекта Selenium. Это первый автоматизированный инструмент веб-тестирования, который позволил пользователям использовать язык программирования, который они предпочитают . Начиная с версии 2.25.0 RC может поддерживать следующие языки программирования:
- Ява
- C #
- PHP
- Python
- Perl
- Рубин
Краткое введение WebDriver
WebDriver оказывается лучше, чем Selenium IDE и Selenium RC во многих аспектах. Он реализует более современный и стабильный подход к автоматизации действий браузера. WebDriver, в отличие от Selenium RC, не полагается на JavaScript для тестирования Selenium Automation Testing. Он управляет браузером, напрямую связываясь с ним.
Поддерживаемые языки такие же, как и в Selenium RC.
- Ява
- C #
- PHP
- Python
- Perl
- Рубин
Селеновая сетка
Selenium Grid - это инструмент, используемый вместе с Selenium RC для одновременного запуска параллельных тестов на разных машинах и в разных браузерах. Параллельное выполнение означает одновременное выполнение нескольких тестов.
Функции:
- Обеспечивает одновременный запуск тестов в нескольких браузерах и средах.
- Чрезвычайно экономит время .
- Использует концепцию концентраторов и узлов . Хаб действует как центральный источник команд Selenium для каждого подключенного к нему узла.
Примечание о поддержке браузера и среды
Из-за своих архитектурных различий Selenium IDE, Selenium RC и WebDriver поддерживают разные наборы браузеров и операционных сред.
Selenium IDE | WebDriver | |
---|---|---|
Поддержка браузера | Mozilla Firefox | Internet Explorer версий с 6 по 11, как 32-разрядная, так и 64-разрядная версия Microsoft Edge 12.10240 и выше (частичная поддержка некоторых функций в стадии разработки) Firefox 3.0 и выше Google Chrome 12.0. и выше Opera 11.5 и выше Android - 2.3 и выше для телефонов и планшетов (устройства и эмуляторы) iOS 3+ для телефонов (устройства и эмуляторы) и 3.2+ для планшетов (устройства и эмуляторы) HtmlUnit 2.9 и выше |
Операционная система | Windows, Mac OS X, Linux | Все операционные системы, в которых могут работать указанные выше браузеры. |
Примечание: Selenium WebDriver считается преемником Selenium RC, который устарел и официально объявлен SeleniumHQ.
Как правильно выбрать селен-инструмент для ваших нужд
Инструмент | Почему выбирают? |
---|---|
Selenium IDE |
|
Селен RC |
|
WebDriver |
|
Селеновая сетка |
|
Сравнение Selenium и QTP (теперь UFT)
Quick Test Professional (QTP) - это запатентованный инструмент автоматического тестирования, ранее принадлежавший компании Mercury Interactive до того, как он был приобретен Hewlett-Packard в 2006 году . Selenium Tool Suite имеет много преимуществ перед QTP, как описано ниже:
Преимущества и преимущества Selenium над QTP
Селен | QTP |
---|---|
Открытый исходный код , бесплатное использование и бесплатно. | Коммерческий . |
Сильно расширяемый | Ограниченные дополнения |
Может запускать тесты в разных браузерах | Можно запускать тесты только в Firefox , Internet Explorer и Chrome. |
Поддерживает различные операционные системы | Может использоваться только в Windows |
Поддерживает мобильные устройства | QTP поддерживает автоматизацию тестирования мобильных приложений (iOS и Android) с помощью решения HP под названием - HP Mobile Center |
Можно выполнить тесты , а браузер минимизирован | Требуется, чтобы тестируемое приложение было видно на рабочем столе. |
Может выполнять тесты параллельно . | Может выполняться только параллельно, но с использованием Quality Center, который снова является платным продуктом. |
Преимущества QTP перед Selenium
QTP | Селен |
---|---|
Может тестировать как веб-приложения, так и настольные приложения | Можно тестировать только веб-приложения |
Поставляется со встроенным репозиторием объектов | Не имеет встроенного репозитория объектов |
Автоматизирует быстрее, чем Selenium, потому что это полнофункциональная IDE. | Автоматизирует медленнее, потому что у него нет собственной IDE, и только сторонняя IDE может использоваться для разработки. |
Тестирование на основе данных легче выполнять, поскольку оно имеет встроенные глобальные и локальные таблицы данных . | Тестирование на основе данных является более обременительным, поскольку вы должны полагаться на возможности языка программирования для установки значений для ваших тестовых данных. |
Может получать доступ к элементам управления в браузере (например, к панели избранного, адресной строке, кнопкам "Назад" и "Вперед" и т. Д.) | Нет доступа к элементам вне тестируемого веб-приложения |
Предоставляет профессиональную поддержку клиентов | Официальной поддержки пользователей не предлагается. |
Имеет встроенную возможность экспортировать тестовые данные во внешние форматы | Не имеет встроенной возможности экспортировать данные времени выполнения во внешние форматы. |
Встроенная поддержка параметризации | Параметризацию можно выполнить с помощью программирования, но ее сложно реализовать. |
Отчеты об испытаниях создаются автоматически | Нет встроенной поддержки для создания отчетов о тестах / ошибках. |
Хотя очевидно, что QTP имеет более продвинутые возможности, Selenium превосходит QTP в трех основных областях:
- Стоимость (потому что Selenium полностью бесплатен)
- Гибкость (из-за множества языков программирования, браузеров и платформ, которые он может поддерживать)
- Параллельное тестирование (то, на что способен QTP, но только с использованием Quality Center)
Резюме
- Весь набор Selenium Software Testing Suite состоит из четырех компонентов:
- Selenium IDE, надстройка Firefox, которую можно использовать только для создания относительно простых тестовых случаев и наборов тестов.
- Selenium Remote Control, также известный как Selenium 1, является первым инструментом Selenium, который позволил пользователям использовать языки программирования для создания сложных тестов.
- WebDriver, новый прорыв, который позволяет вашим тестовым сценариям напрямую связываться с браузером, тем самым управляя им с уровня ОС.
- Selenium Grid - это также инструмент, который используется с Selenium RC для выполнения параллельных тестов в разных браузерах и операционных системах.
- Selenium RC и WebDriver были объединены в Selenium 2.
- Селен более выгоден, чем QTP, с точки зрения затрат и гибкости. Он также позволяет запускать тесты параллельно, в отличие от QTP, где вам разрешено запускать тесты только последовательно.