Что такое селен?
SELENIUM — это бесплатная автоматизированная среда тестирования с открытым исходным кодом, используемая для проверки веб-приложений в различных браузерах и платформах. Вы можете использовать несколько языков программирования, таких как Java, C #, Python и т. Д. Для создания тестовых сценариев Selenium. Тестирование, выполненное с использованием инструмента Selenium, обычно называется Selenium Testing.
Selenium Software — это не просто инструмент, а набор программ, каждый из которых отвечает различным потребностям организации в области тестирования. Вот список инструментов
- Селен интегрированная среда разработки (IDE)
- Селен пульт дистанционного управления (RC)
- WebDriver
- Selenium Grid
На данный момент Selenium RC и WebDriver объединены в единую платформу для формирования Selenium 2 . Селен 1, кстати, относится к Selenium RC.
Нажмите здесь, если видео не доступно
- Что такое селен?
- Кто разработал селен?
- Одинаковая проблема политики происхождения
- Рождение Selenium Пульт дистанционного управления (Selenium RC)
- Рождение Selenium Grid
- Рождение Selenium IDE
- Рождение WebDriver
- Рождение Selenium 2
- Итак, почему имя Селен?
- Краткое введение Selenium IDE
- Краткое введение Selenium Remote Control (Selenium RC)
- Краткое введение WebDriver
- Selenium Grid
- Примечание по поддержке браузера и среды
- Как правильно выбрать инструмент Selenium для ваших нужд
- Сравнение между Селеном и QTP (теперь UFT)
- Преимущества QTP перед селеном
Поскольку Selenium представляет собой набор различных инструментов, у него также были разные разработчики. Ниже приведены ключевые лица, которые внесли заметный вклад в проект Selenium.
Прежде всего, Selenium был создан Джейсоном Хаггинсом в 2004 году . Инженер ThoughtWorks, он работал над веб-приложением, которое требовало частого тестирования. Поняв, что повторяющееся ручное тестирование их приложения становится все более и более неэффективным, он создал программу на JavaScript , которая автоматически контролировала бы действия браузера. Он назвал эту программу как « JavaScriptTestRunner ». Видя потенциал этой идеи в автоматизации других веб-приложений, он сделал JavaScriptRunner открытым исходным кодом, который впоследствии был переименован в Selenium Core . |
Одинаковая проблема политики происхождения
Такая же политика происхождения запрещает коду 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 Пульт дистанционного управления (Selenium RC)
К несчастью; тестеры, использующие Selenium Core, должны были установить тестируемое приложение целиком и веб-сервер на своих локальных компьютерах из-за ограничений, наложенных одной и той же политикой происхождения. Поэтому другой инженер ThoughtWork, Пол Хаммант , решил создать сервер, который будет выступать в качестве HTTP-прокси, чтобы «обмануть» браузер , заставив поверить, что Selenium Core и тестируемое веб-приложение происходят из одного домена. Эта система стала известна как Selenium Remote Control или Selenium 1 .
Рождение Selenium Grid
Selenium Grid был разработан Патриком Лайтбоди для решения вопроса о необходимости максимально сократить время выполнения теста. Первоначально он назвал систему « Hosted QA ». Он был способен снимать скриншоты браузера на значительных этапах, а также посылать команды Selenium на разные машины одновременно.
Рождение Selenium IDE
Shinya Kasatani из Японии создал 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, и она была разработана компанией Mercury Interactive (да, компанией, которая изначально создала QTP до того, как она была приобретена HP). Поскольку Селен является известным противоядием отравления ртутью, Джейсон предложил это имя. Его товарищи по команде взяли это, и вот как мы получили эту концепцию до настоящего времени.
Интегрированная среда разработки Selenium (IDE) — это самая простая среда в наборе Selenium, и ее легче всего изучить . Это плагин Firefox, который вы можете установить так же легко, как и другие плагины. Однако из-за своей простоты Selenium IDE следует использовать только в качестве инструмента для создания прототипов . Если вы хотите создать более сложные тестовые случаи, вам нужно будет использовать либо Selenium RC, либо WebDriver.
Краткое введение Selenium Remote Control (Selenium RC)
Selenium RC долгое время был флагманом тестирования всего проекта Selenium. Это первый инструмент автоматического веб-тестирования, который позволил пользователям использовать язык программирования, который они предпочитают . Начиная с версии 2.25.0, RC может поддерживать следующие языки программирования:
Краткое введение WebDriver
WebDriver показал себя лучше, чем Selenium IDE и Selenium RC во многих аспектах. В нем реализован более современный и стабильный подход к автоматизации действий браузера. WebDriver, в отличие от Selenium RC, не использует JavaScript для автоматизации. Он управляет браузером, напрямую общаясь с ним.
Поддерживаемые языки такие же, как в Selenium RC.
- Ява
- C #
- PHP
- питон
- Perl
- Рубин
Selenium Grid
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 и выше (частичная поддержка некоторых функциональных возможностей в стадии разработки) iOS 3+ для телефонов (устройства и эмуляторы) и 3.2+ для планшетов (устройства и эмуляторы) HtmlUnit 2.9 и выше |
Операционная система | Windows, Mac OS X, Linux | Все операционные системы, в которых могут работать указанные выше браузеры. |
Примечание: Selenium WebDriver называется преемником Selenium RC, который был объявлен устаревшим и официально объявлен SeleniumHQ.
Как правильно выбрать инструмент Selenium для ваших нужд
|
|
---|---|
Selenium IDE |
|
Selenium RC |
|
WebDriver |
|
Selenium Grid |
|
Quick Test Professional (QTP) — это запатентованный инструмент автоматического тестирования, ранее принадлежавший компании Mercury Interactive до ее приобретения Hewlett-Packard в 2006 году . Selenium Tool Suite имеет много преимуществ по сравнению с QTP, как описано ниже —
Преимущества селена перед QTP
|
|
---|---|
Открытый исходный код , бесплатное использование и бесплатное. | Коммерческая . |
Высоко растяжимый | Ограниченные дополнения |
Может запускать тесты в разных браузерах | Может запускать тесты только в Firefox , Internet Explorer и Chrome |
Поддерживает различные операционные системы | Может использоваться только в Windows |
Поддерживает мобильные устройства | QTP поддерживает автоматизацию тестирования мобильных приложений (iOS и Android) с использованием решения HP — HP Mobile Center |
Можно выполнить тесты , а браузер минимизирован | Необходимо, чтобы тестируемое приложение было видно на рабочем столе |
Может выполнять тесты параллельно . | Может выполняться только параллельно, но с использованием Quality Center, который снова является платным продуктом. |
Преимущества QTP перед селеном
|
|
---|---|
Может тестировать как веб-приложения, так и настольные | Могу только тестировать веб-приложения |
Поставляется со встроенным хранилищем объектов | Не имеет встроенного хранилища объектов |
Автоматизируется быстрее, чем Selenium, потому что это полнофункциональная IDE. | Автоматизируется медленнее, потому что у него нет встроенной IDE, и для разработки можно использовать только стороннюю IDE. |
Управляемое данными тестирование легче выполнить, поскольку оно имеет встроенные глобальные и локальные таблицы данных . | Управляемое данными тестирование является более громоздким, так как вы должны полагаться на возможности языка программирования для установки значений для ваших тестовых данных. |
Доступ к элементам управления в браузере (например, панель «Избранное», адресная строка, кнопки «Назад» и «Вперед» и т. Д.) | Невозможно получить доступ к элементам за пределами тестируемого веб-приложения |
Обеспечивает профессиональную поддержку клиентов | Официальная поддержка пользователей не предлагается. |
Имеет встроенную возможность экспорта тестовых данных во внешние форматы | Не имеет встроенной возможности экспорта данных времени выполнения во внешние форматы |
Поддержка параметризации встроена | Параметризация может быть выполнена с помощью программирования, но ее трудно реализовать. |
Тестовые отчеты генерируются автоматически | Нет встроенной поддержки для создания тестов / отчетов об ошибках. |
Хотя очевидно, что QTP обладает более продвинутыми возможностями, Selenium перевешивает QTP в трех основных областях:
- Стоимость (потому что Selenium совершенно бесплатно)
- Гибкость (из-за множества языков программирования, браузеров и платформ, которые он может поддерживать)
- Параллельное тестирование (то, на что способен QTP, но только с использованием Quality Center)
Резюме
- Весь набор инструментов Selenium Tool Suite состоит из четырех компонентов:
- Selenium IDE , надстройка Firefox, которую вы можете использовать только при создании относительно простых тестовых случаев и наборов тестов.
- Selenium Remote Control , также известный как Selenium 1 , является первым инструментом Selenium, который позволил пользователям использовать языки программирования при создании сложных тестов.
- WebDriver , новый прорыв, который позволяет вашим тестовым сценариям напрямую взаимодействовать с браузером, тем самым управляя им с уровня ОС.
- Selenium Grid также является инструментом, который используется с Selenium RC для выполнения параллельных тестов в разных браузерах и операционных системах.
- Selenium RC и WebDriver были объединены в Selenium 2 .
- Селен более выгоден, чем QTP, с точки зрения затрат и гибкости . Это также позволяет вам запускать тесты параллельно , в отличие от QTP, где вам разрешено выполнять тесты только последовательно.