logo

Веб-драйвер Selenium

Selenium WebDriver є найважливішим компонентом набору Selenium Tool. Остання версія «Selenium 2.0» інтегрована з API WebDriver, який забезпечує простіший і лаконічніший інтерфейс програмування.

як відключити режим розробника

Наступне зображення дасть вам чітке уявлення про компоненти Selenium та інструменти автоматизації тестування.


Веб-драйвер Selenium

Selenium WebDriver був вперше представлений як частина Selenium v2.0. Початкова версія Selenium, тобто Selenium v1, складалася лише з IDE, RC і Grid. Однак із випуском Selenium v3 RC застарів і перенесено до застарілого пакета.

У WebDriver тестові сценарії можна розробляти за допомогою будь-якої з підтримуваних мов програмування та запускати безпосередньо в більшості сучасних веб-браузерів. Мови, які підтримує WebDriver, включають C#, Java, Perl, PHP, Python і Ruby.

Перш ніж вивчати концепції Selenium WebDriver, ви повинні добре знати будь-яку з підтримуваних мов програмування. Зараз веб-драйвер Selenium найбільш популярний у Java та C#. Для цього підручника ми використовуємо Selenium з java. Ви можете звернутися до наведених нижче посилань, щоб дізнатися про базові та поглиблені концепції Java та C#:

Підручник з Java: https://www.javatpoint.com/java-tutorial

Підручник C#: https://www.javatpoint.com/c-sharp-tutorial

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

WebDriver має вбудовану реалізацію драйвера Firefox (драйвер Gecko). Для інших веб-переглядачів вам потрібно підключити їх драйвери для встановлення зв’язку та запуску тесту. Найбільш часто використовувані WebDriver включають:

  • Драйвер Google Chrome
  • Драйвер Internet Explorer
  • Драйвер Opera
  • Драйвер Safari
  • Драйвер модуля HTML (спеціальний безголовий драйвер)

Selenium WebDriver - Архітектура

Selenium WebDriver API забезпечує зв’язок між мовами та браузерами.

На наступному зображенні показано архітектурне представлення Selenium WebDriver.


Архітектура Selenium WebDriver

Існує чотири основні компоненти архітектури WebDriver:

  • Прив’язки мови Selenium
  • Провідний протокол JSON
  • Драйвери браузера
  • Справжні браузери

Прив’язки мови Selenium / Клієнтські бібліотеки Selenium

Розробники Selenium створили мовні прив’язки/клієнтські бібліотеки Selenium для підтримки кількох мов. Наприклад, якщо ви хочете використовувати драйвер браузера в java, використовуйте прив’язки java. Усі підтримувані мовні прив’язки можна завантажити з офіційного сайту (https://www.seleniumhq.org/download/#client-drivers) селену.

Провідний протокол JSON

JSON (JavaScript Object Notation) — це відкритий стандарт для обміну даними в Інтернеті. Він підтримує такі структури даних, як об’єкт і масив. Отже, записувати та читати дані з JSON легко. Щоб дізнатися більше про JSON, відвідайте https://www.javatpoint.com/json-tutorial

JSON Wire Protocol забезпечує транспортний механізм для передачі даних між сервером і клієнтом. JSON Wire Protocol є галузевим стандартом для різноманітних веб-служб REST. Щоб дізнатися більше про веб-послуги, відвідайте https://www.javatpoint.com/web-services-tutorial

Драйвери браузера

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

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

  • HTTP-запит генерується та надсилається драйверу браузера для кожної команди Selenium.
  • Драйвер отримує HTTP-запит через HTTP-сервер.
  • Сервер HTTP вирішує всі кроки для виконання інструкцій, які виконуються в браузері.
  • Статус виконання надсилається назад на сервер HTTP, який згодом надсилається назад до сценарію автоматизації.

Браузери

Браузери, які підтримує Selenium WebDriver:

  • Internet Explorer
  • Mozilla Firefox
  • Гугл хром
  • Сафарі

Selenium WebDriver – функції

Деякі з найважливіших функцій Selenium WebDriver:

    Підтримка кількох браузерів: Selenium WebDriver підтримує широкий спектр веб-браузерів, таких як Firefox, Chrome, Internet Explorer, Opera та багато інших. Він також підтримує деякі нетрадиційні або рідкісні браузери, такі як HTMLUnit.

Функції Selenium WebDriver
    Підтримка кількох мов: WebDriver також підтримує більшість поширених мов програмування, таких як Java, C#, JavaScript, PHP, Ruby, Pearl і Python. Таким чином, користувач може вибрати будь-яку з підтримуваних мов програмування, виходячи зі своїх навичок, і розпочати створення тестових сценаріїв.швидкість: WebDriver працює швидше порівняно з іншими інструментами Selenium Suite. На відміну від RC, йому не потрібен проміжний сервер для зв’язку з браузером; скоріше інструмент безпосередньо спілкується з браузером.

Функції Selenium WebDriver
    Прості команди: Більшість команд, які використовуються в Selenium WebDriver, легко реалізувати. Наприклад, для запуску браузера в WebDriver використовуються такі команди:
    Драйвер WebDriver = новий FirefoxDriver(); (браузер Firefox)
    Драйвер WebDriver = новий ChromeDriver(); (браузер Chrome)
    Драйвер WebDriver = новий InternetExplorerDriver(); (браузер Internet Explorer)WebDriver - методи та класи: WebDriver пропонує кілька рішень для вирішення деяких потенційних проблем під час тестування автоматизації.
    WebDriver також дозволяє тестувальникам мати справу зі складними типами веб-елементів, таких як прапорці, спадні списки та сповіщення за допомогою динамічних засобів пошуку.

Функції Selenium WebDriver

Selenium WebDriver Індекс посібника


Підручник Selenium WebDriver

  • Стратегії визначення місцезнаходження
  • Пошук стратегій за ідентифікатором
  • Пошук стратегій за назвою
  • Розташування стратегій за назвою класу
  • Пошук стратегій за назвою тегу
  • Пошук стратегій за текстом посилання
  • Пошук стратегій за частковим текстом посилання
  • Пошук стратегій за CSS
  • Пошук стратегій за допомогою XPath
  • Обробка розкривних списків
  • Перетягування WebDriver
  • Сповіщення про обробку WebDriver
  • Прокручування веб-сторінки
  • WebDriver - команди браузера
  • WebDriver - Команди навігації
  • WebDriver - команди WebElement
  • Обробка радіокнопок
  • Прапорець обробки
  • Твердження про селен
  • Сітка селену