Що таке Selenium WebDriver? Різниця з RC

Зміст:

Anonim

Що таке Selenium Webdriver?

Selenium Webdriver - це колекція API з відкритим кодом, яка використовується для тестування веб-додатків. Інструмент Selenium Webdriver використовується для автоматизації тестування веб-додатків, щоб перевірити, чи працює він належним чином чи ні. В основному він підтримує такі браузери, як Firefox, Chrome, Safari та Internet Explorer. Це також дозволяє виконувати крос-браузерне тестування.

WebDriver також дозволяє використовувати мову програмування для створення тестових скриптів (неможливо в IDE ID Selenium).

Тепер ви можете використовувати умовні операції, такі як if-then-else або switch-case. Ви також можете виконувати цикл, як робити-під час.

Наступні мови програмування підтримуються WebDriver

  • Java
  • .Net
  • PHP
  • Python
  • Perl
  • Рубін

Не обов’язково знати всіх. Вам просто потрібно бути обізнаним в одному. Однак у цьому посібнику ми будемо використовувати Java із Eclipse як нашу IDE.

Різниця між Selenium RC та Webdriver

До появи WebDriver в 2006 році існував ще один засіб автоматизації, який називався Selenium Remote Control. І WebDriver, і Selenium RC мають такі функції:

  • Вони обидва дозволяють використовувати мову програмування при розробці тестових сценаріїв.
  • Вони обидва дозволяють запускати тести проти різних браузерів.

То чим вони відрізняються? Обговоримо відповіді.

1. Архітектура

Архітектура WebDriver простіша, ніж Selenium RC .

  • Він керує браузером з рівня ОС
  • Все, що вам потрібно, це IDE вашої мови програмування (що містить ваші команди Selenium) та браузер.
Архітектура Selenium RC набагато складніша.
  • Спочатку потрібно запустити окрему програму під назвою Selenium Remote Control (RC) Server, перш ніж розпочати тестування
  • Сервер Selenium RC діє як "посередник" між вашими командами Selenium та вашим браузером
  • Коли ви починаєте тестування, Selenium RC Server «вводить» у браузер програму Javascript під назвою Selenium Core .
  • Після введення Selenium Core почне отримувати інструкції, передані сервером RC від вашої тестової програми.
  • Після отримання інструкцій Selenium Core виконуватиме їх як команди Javascript.
  • Браузер виконуватиме вказівки Selenium Core та передаватиме свою відповідь на RC-сервер.
  • Сервер RC отримає відповідь браузера, а потім відобразить вам результати.
  • RC-сервер отримає наступну інструкцію з вашого тестового сценарію, щоб повторити весь цикл.

2. Швидкість

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

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

3. Взаємодія в реальному житті

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

Selenium Core, як і інші коди JavaScript, може отримати доступ до відключених елементів. Раніше тестери Selenium скаржились на те, що Selenium Core міг вводити значення до вимкненого текстового поля у своїх тестах. Відмінності в API

4. API

API Selenium RC є більш дозрілим, але містить надмірності та часто заплутані команди . Наприклад, більшу частину часу тестувальники заплутані, чи використовувати type або typeKeys; чи використовувати click, mouseDown або mouseDownAt. Гірше того, різні браузери теж по-різному інтерпретують кожну з цих команд!

API WebDriver простіший, ніж Selenium RC . Він не містить зайвих і заплутаних команд.

5. Підтримка браузера

WebDriver може підтримувати безголовий браузер HtmlUnit

HtmlUnit називається "безголовим", оскільки він є невидимим браузером - він не має графічного інтерфейсу.

Це дуже швидкий браузер, оскільки не витрачається часу на очікування завантаження елементів сторінки. Це прискорює ваші цикли виконання тесту.

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

Selenium RC не може підтримувати безголовий браузер HtmlUnit. Для роботи потрібен справжній, видимий браузер.

Обмеження WebDriver

WebDriver не може легко підтримувати нові браузери

Пам'ятайте, що WebDriver працює на рівні ОС. Також пам’ятайте, що різні браузери по-різному спілкуються з ОС. Якщо виходить новий браузер, він може мати інший процес спілкування з ОС порівняно з іншими браузерами. Отже, ви повинні дати команді WebDriver досить багато часу, щоб розібратися в цьому новому процесі, перш ніж вони зможуть реалізувати його в наступному випуску WebDriver.

Однак команда розробників WebDriver вирішує, підтримувати чи не підтримувати новий браузер.

Селен RC має вбудований генератор результатів тесту

Selenium RC автоматично генерує HTML-файл результатів тестування . Формат звіту був попередньо встановлений самим РК. Погляньте на приклад цього звіту нижче.

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

Резюме

  • WebDriver - це інструмент для тестування веб-програм у різних браузерах з використанням різних мов програмування.
  • Тепер ви можете проводити потужні тести, оскільки WebDriver дозволяє вам використовувати мову програмування на ваш вибір при розробці ваших тестів.
  • WebDriver швидший за Selenium RC завдяки своїй простішій архітектурі.
  • WebDriver безпосередньо спілкується з браузером, тоді як Selenium RC потребує допомоги RC-сервера для цього.
  • API WebDriver є більш стислим, ніж Selenium RC.
  • WebDriver може підтримувати HtmlUnit, тоді як Selenium RC не може.
  • Єдиними недоліками WebDriver є:
    • Він не може легко підтримувати нові браузери , але Selenium RC може.
    • Він не має вбудованої команди для автоматичного формування результатів тесту.