Що таке селен? Вступ до тестування автоматизації селену

Зміст:

Anonim

Що таке селен?

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

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

  • Інтегроване середовище розвитку селену (IDE)
  • Пульт дистанційного керування селеном (RC)
  • WebDriver
  • Селенова сітка
Вступ до селену

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

Клацніть тут, якщо відео недоступне

У цьому підручнику ви дізнаєтесь:

  • Що таке селен?
  • Хто розробив селен?
  • Випуск тієї самої політики походження
  • Народження пульта дистанційного керування селеном (Selenium RC)
  • Народження селенової сітки
  • Народження селену IDE
  • Народження WebDriver
  • Народження селену 2
  • Отже, чому назва Селен?
  • Короткий вступ Селен IDE
  • Короткий вступ Пульт дистанційного керування селеном (Selenium RC)
  • Короткий вступ WebDriver
  • Селенова сітка
  • Примітка щодо підтримки браузера та середовища
  • Як правильно вибрати інструмент селену для ваших потреб
  • Порівняння між селеном та QTP (нині UFT)
  • Переваги QTP перед селеном

Хто розробив селен?

Оскільки 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 RC)

На жаль; тестери, що використовують Selenium Core, повинні були встановити всю тестовану програму та веб-сервер на свої власні локальні комп’ютери через обмеження, накладені тією ж політикою походження. Тож інший інженер ThoughtWork, Пол Хаммант , вирішив створити сервер, який діятиме як проксі-сервер HTTP, щоб "обдурити" браузер і повірити, що Selenium Core та веб-програма, що перевіряється, походять з одного домену. Ця система стала називатися пультом дистанційного керування селеном або селеном 1 .

Народження селенової сітки

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

Народження селену IDE

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

Народження WebDriver

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

Народження селену 2


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

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

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

Короткий вступ Селен IDE

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

Короткий вступ Пульт дистанційного керування селеном (Selenium RC)

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

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

Короткий вступ WebDriver

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

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

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

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

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

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

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

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

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

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.

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

Інструмент Чому обирати?

IDE селену

  • Дізнатися про концепції автоматизованого тестування та селену, включаючи:
  • Команди селенесу, такі як введення, відкриття, клацання та очікування, затвердження, перевірка тощо.
  • Локатори, такі як ідентифікатор, ім'я, xpath, селектор css тощо.
  • Виконання спеціального коду JavaScript за допомогою runScript
  • Експорт тестових кейсів у різні формати.
  • Створювати тести з незначними або відсутніми попередніми знаннями з програмування.
  • Для створення простих тестових кейсів та наборів тестів, які ви зможете пізніше експортувати в RC або WebDriver.
  • Щоб протестувати веб-програму лише проти Firefox та Chrome.

Селен RC

  • Розробити тест, використовуючи виразнішу мову, ніж селенська
  • Запустити тест проти різних браузерів (крім HtmlUnit) в різних операційних системах.
  • Для розгортання тестів у кількох середовищах за допомогою Selenium Grid.
  • Щоб протестувати свою програму на новому браузері, що підтримує JavaScript.
  • Тестувати веб-додатки зі складними сценаріями на базі AJAX.

WebDriver

  • Використовувати певну мову програмування при розробці тесту.
  • Для тестування додатків, які багаті функціоналами на основі AJAX.
  • Для виконання тестів у браузері HtmlUnit.
  • Для створення індивідуальних результатів тесту.

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

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

Порівняння між селеном та QTP (нині UFT)

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

Переваги та переваги селену перед QTP

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

Переваги QTP перед селеном

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

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

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

Резюме

  • Весь набір тестування програмного забезпечення Selenium складається з чотирьох компонентів:
  • Selenium IDE, надбудова Firefox, яку ви можете використовувати лише для створення відносно простих тестових кейсів та тестових наборів.
  • Пульт дистанційного керування Selenium, також відомий як Selenium 1, який є першим інструментом Selenium, що дозволив користувачам використовувати мови програмування при створенні складних тестів.
  • WebDriver, новий прорив, який дозволяє тестовим сценаріям взаємодіяти безпосередньо з браузером, тим самим контролюючи його з рівня ОС.
  • Selenium Grid - це також інструмент, який використовується разом із Selenium RC для виконання паралельних тестів у різних браузерах та операційних системах.
  • Selenium RC та WebDriver були об’єднані для утворення Selenium 2.
  • З точки зору витрат та гнучкості селен вигідніший за QTP. Це також дозволяє запускати тести паралельно, на відміну від QTP, де вам дозволяється запускати тести лише послідовно.