Що таке Selenium? Вступ Підручник

Що таке Selenium?

Selenium це безкоштовна платформа автоматизованого тестування (з відкритим кодом), яка використовується для перевірки веб-додатків у різних браузерах і платформах. Ви можете використовувати кілька мов програмування, наприклад Java, C#, Pythonтощо для створення Selenium Тестові сценарії. Тестування виконано за допомогою Selenium інструмент тестування зазвичай називають Selenium Тестування.

Selenium Набір інструментів

Selenium Програмне забезпечення — це не просто окремий інструмент, а набір програмного забезпечення, кожна частина якого призначена для різних потреб Selenium Потреби організації в тестуванні якості. Ось список інструментів

  • Selenium Інтегроване середовище розробки (IDE)
  • Selenium Пульт дистанційного керування (RC)
  • веб-драйвер
  • Selenium сітка

Selenium Набір інструментів

На даний момент, Selenium RC і WebDriver об’єднані в єдину структуру Selenium 2. Selenium 1, до речі, стосується Selenium RC.

Підручник відео Selenium

Натисніть тут якщо відео недоступне

Хто розробив Selenium?

З Selenium це набір різних інструментів, він також мав різних розробників. Нижче наведено ключових осіб, які зробили помітний внесок у Selenium Проекти

Розроблено Selenium

В першу чергу, Selenium було створений Джейсоном Хаггінсом у 2004 році. Інженер ThoughtWorks, він працював над веб-додатком, який потребував частого тестування. Зрозумівши, що повторюване ручне тестування їхньої програми стає все більш неефективним, він створив JavaScript програма, яка автоматично керуватиме діями браузера. Цю програму він назвав «JavaScriptTestRunner».

Побачивши в цій ідеї потенціал для автоматизації інших веб-програм, він зробив JavaScriptRunner з відкритим кодом, який пізніше було перейменовано Selenium Core. Для тих, хто зацікавлений у дослідженні інших варіантів тестування веб-додатків, подивіться на ці Selenium альтернативи.

Проблема політики того самого походження

Політика Same Origin забороняє JavaКод сценарію для доступу до елементів з домену, який відрізняється від того, де його було запущено. Наприклад, HTML-код на www.google.com використовує a JavaПрограма-скрипт “randomScript.js”. Така сама політика джерела дозволить лише randomScript.js отримувати доступ до сторінок у межах google.com, таких як google.com/mail, google.com/login або google.com/signup. Однак він не може отримати доступ до сторінок із різних сайтів, таких як yahoo.com/search або guru99.com, оскільки вони належать до різних доменів.

Проблема політики того самого походження

Це причина, чому до Selenium RC, потрібні тестери для встановлення локальних копій обох Selenium Ядро (а JavaПрограма сценарію) і веб-сервер, що містить тестовану веб-програму, щоб вони належали до одного домену

Народження Selenium Пульт (Selenium RC)

Пол Хаммант

на жаль; використання тестерів Selenium Через обмеження, накладені однакова політика походження. Інший інженер ThoughtWork, Пол Хаммант, вирішив створити сервер, який діятиме як HTTP-проксі, щоб «обдурити» браузер, щоб він повірив у це Selenium Ядро та веб-програма, що тестується, походять з одного домену. Ця система стала відомою як Selenium дистанційне керування or Selenium 1.

Народження Selenium сітка

Патрік Лайтбоді

Selenium Грід був розроблений Патрік Лайтбоді щоб максимально скоротити час виконання тесту. Спочатку він назвав систему «Розміщений QA.” Він міг робити знімки екрана браузера під час важливих етапів, а також розсилка Selenium команди для різних машин одночасно.

Народження Selenium IDE

Шинья Касатані

Шинья Касатані Японії створено Selenium IDE, то Firefox і розширення Chrome, яке може автоматизувати браузер за допомогою функції запису та відтворення. Він придумав цю ідею для подальшого збільшення швидкості створення тестів. Він пожертвував Selenium IDE до Selenium Проект в 2006.

Народження WebDriver

Саймон Стюарт

Саймон Стюарт створено WebDriver приблизно 2006 коли веб-переглядачі та веб-додатки ставали все більш потужними та більш обмежувальними JavaПрограми-скрипти, як Selenium Основний Це була перша кросплатформна платформа тестування, яка могла контролювати браузер на рівні ОС.

Народження Selenium 2

In 2008, Весь Selenium Команда вирішила об’єднати WebDriver і Selenium RC для формування більш потужного інструменту під назвою Selenium 2, С WebDriver є ядром. В даний час Selenium RC все ще розробляється, але лише в режимі обслуговування. Більшість з Selenium Зараз зусилля проекту зосереджені на Selenium 2.

Отже, чому назва Selenium?

Ім'я Selenium походить із жарту, який Джейсон одного разу кинув своїй команді. Протягом Seleniumрозвиток, ін автоматизоване тестування каркас був популярним, виготовлений компанією під назвою Mercury інтерактивний (так, компанія, яка створила QTP до того, як її придбала HP). Оскільки Selenium є відомим протиотрутою для Mercury отруєння, Джейсон запропонував це ім’я, і його взяли його товариші по команді. Ось як ми називаємо цю структуру до теперішнього часу.

Чому назва Selenium

Що таке Selenium IDE?

Selenium Інтегроване середовище розробки (IDE) - це найпростіший каркас , Selenium люкс і є найлегший для навчання. Це Chrome і Firefox підключати які ви можете встановити так само легко, як і з іншими плагінами. Однак через свою простоту, Selenium IDE слід використовувати лише як інструмент для створення прототипів. Якщо ви хочете створити більш просунуті тестові випадки, вам потрібно буде використовувати будь-який з них Selenium RC або WebDriver.

Selenium IDE

Що таке Selenium Пульт (Selenium RC)?

Selenium RC був флагманська платформа тестування цілого Selenium проект на довгий час. Це перший автоматизований веб-тестування інструмент, який дозволяє користувачам використовувати мову програмування, яку вони віддають перевагу. Починаючи з версії 2.25.0, RC підтримує наступні мови програмування:

Selenium Пульт (Selenium RC)

Що таке WebDriver?

WebDriver виявився кращим, ніж Selenium IDE та Selenium RC у багатьох аспектах. Він реалізує більш сучасний і стабільний підхід до автоматизації дій браузера. WebDriver, на відміну від Selenium RC, не покладається на JavaСценарій для Selenium Тестування автоматизації. Він керує браузером шляхом прямого зв’язку з ним.

Підтримувані мови такі ж, як і в Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • рубін

Веб-драйвер

Що таке Selenium Сітка?

Selenium Сітка – це інструмент використовується разом з Selenium RC для запуску паралельні тести на різних машинах і в різних браузерах одночасно. Паралельне виконання означає виконання кількох тестів одночасно.

Особливості гри:

  • дозволяє одночасне виконання тестів in кілька браузерів і середовищ.
  • Економить час надзвичайно.
  • Використовує концентратори та вузли концепція. Центр виступає як центральне джерело Selenium команд для кожного підключеного до нього вузла.

Selenium Підтримка браузера та середовища

Через їх архітектурні відмінності, Selenium SDI, Selenium RC і WebDriver підтримують різні набори браузерів і операційних середовищ.

  Selenium IDE веб-драйвер
Підтримка браузера Mozilla Firefox і Chrome

Google Chrome 12 +

Firefox

Internet Explorer 7+ і Edge

Сафарі, 

HtmlUnit і PhantomUnit

Operating System Windows, Mac OS X, Linux Усі операційні системи, у яких можуть працювати зазначені вище веб-переглядачі.

Примітка: Opera Драйвер більше не працює

Як правильно вибрати Selenium Інструмент для ваших потреб

Інструмент Чому вибрати?
Selenium IDE
  • Щоб дізнатися про концепції автоматизованого тестування та Seleniumв тому числі:
  • Команди Selenese, такі як type, open, clickAndWait, assert, verify тощо.
  • Локатори, такі як id, name, xpath, селектор css тощо.
  • Виконання індивідуальних JavaКод сценарію за допомогою runScript
  • Експорт тестів у різні формати.
  • Щоб створювати тести з невеликими знаннями програмування або без них.
  • Щоб створити прості тестові випадки та набори тестів, які можна експортувати пізніше в RC або WebDriver.
  • Щоб перевірити веб-програму проти Firefox і лише Chrome.
Selenium RC
  • Розробити тест, використовуючи більш виразну мову, ніж Selenese
  • Щоб запустити тест у різних браузерах (крім HtmlUnit) у різних операційних системах.
  • Щоб розгорнути свої тести в кількох середовищах за допомогою Selenium Сітка.
  • Щоб протестувати свою програму в новому браузері, який підтримує JavaСценарій.
  • Для тестування веб-додатків зі складними сценаріями на основі AJAX.
веб-драйвер
  • Використовувати певну мову програмування при розробці тесту.
  • Для тестування програм, які багаті функціями на основі AJAX.
  • Для виконання тестів у браузері HtmlUnit.
  • Щоб створити індивідуальні результати тесту.
Selenium сітка
  • Запустити свій Selenium Скрипти RC у кількох браузерах та операційних системах одночасно.
  • Щоб запустити величезний набір тестів, який потрібно завершити якнайшвидше.

Порівняння між Selenium і QTP (тепер UFT)

Quick Test Professional (QTP) це запатентований інструмент автоматизованого тестування, який раніше належав компанії Mercury інтерактивний до того, як Hewlett-Packard придбала його У 2006. Його пізнішим власником став MicroFocus, а інструмент перейменовано на UFT. The Selenium Tool Suite має багато переваг перед  QTP як описано нижче –

Переваги та переваги Selenium понад QTP

Selenium QTP
Відкрите джерело, вільний у користуванні та безкоштовно. Комерційний.
Високо розширюваний Обмежені доповнення
Може виконувати тести різні браузери Можна виконувати тести лише в Firefox, Internet Explorer та Chrome
Підтримали різні операційні системи Можна використовувати тільки в Windows
Підтримали мобільні пристрої QTP Підтримує автоматизацію тестування мобільних додатків (iOS і Android) за допомогою рішення HP під назвою – HP Mobile Center
Може виконувати тести в той час як браузер згорнутий Потрібна перевірка програми, щоб її було видно на робочому столі
Може виконувати тести паралельно. Можна виконувати лише паралельно, але використовуючи Quality Center, який також є платним продуктом.

Переваги QTP над Selenium

QTP Selenium
Можна тестувати як веб-, так і настільні програми Можна тестувати лише веб-додатки
Поставляється з a вбудоване сховище об'єктів Не має вбудованого сховища об'єктів
Автоматизується швидше ніж Selenium оскільки це повнофункціональна IDE. Автоматизується повільніше, оскільки не має рідної IDE, і для розробки можна використовувати лише сторонню IDE.
Тестування на основі даних легше виконувати, оскільки він має вбудовані глобальні та локальні таблиці даних. Тестування на основі даних є більш громіздким, оскільки вам потрібно покладатися на можливості мови програмування для встановлення значень для ваших тестових даних
Має доступ до елементів керування в браузері(наприклад, панель уподобань, адресний рядок, кнопки «Назад» і «Вперед» тощо) Неможливо отримати доступ до елементів за межами перевіреної веб-програми
Забезпечує професійне Підтримка клієнтів Офіційна підтримка користувачів не надається.
Має нативну здатність до експортувати тестові дані у зовнішні формати Немає вбудованої можливості експортувати дані виконання у зовнішні формати
Вбудована підтримка параметризації Параметризація може бути виконана за допомогою програмування, але її важко реалізувати.
Звіти про випробування генеруються автоматично Немає вбудованої підтримки для створення тестів/звітів про помилки.

Очевидно, що QTP має більш розширені можливості, Selenium переважає QTP у трьох основних областях:

  • Коштувати(тому що Selenium абсолютно безкоштовно)
  • Гнучкість(через низку мов програмування, браузерів і платформ, які він може підтримувати)
  • Паралельне тестування(те, на що здатний QTP, але лише з використанням Quality Center)

Підсумки

  • Все Selenium Пакет тестування програмного забезпечення складається з чотирьох компонентів:
  • Selenium IDE, a Firefox і надбудова chrome, яку можна використовувати лише для створення відносно простих тестових випадків і наборів тестів.
  • Selenium Пульт дистанційного керування, також відомий як Selenium 1, є першим Selenium інструмент, який дозволяв користувачам використовувати мови програмування для створення складних тестів.
  • WebDriver — це новий прорив, який дозволяє тестовим сценаріям спілкуватися безпосередньо з браузером, таким чином керуючи ним на рівні ОС.
  • Selenium Сітка також є інструментом, який використовується з Selenium RC для виконання паралельних тестів у різних браузерах і операційних системах.
  • Selenium RC і WebDriver були об’єднані у форму Selenium 2.
  • Selenium є більш вигідним, ніж Microfocus UFT One з точки зору вартості та гнучкості.