АРХИТЕКТУРА SELENIUM WEBDRIVER | МАТЕРИАЛ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

В этом посте мы подробно рассмотрим архитектуру Selenium WebDriver. Архитектура Selenium WebDriver полностью посвящена внутренней работе Selenium. Мы знаем, что Selenium — это инструмент автоматизации браузера, который взаимодействует с браузером и автоматизирует сквозное тестирование веб-приложения.

Не пропустите: учебник по Selenium — учитесь шаг за шагом

< p>Selenium — это набор инструментов. Он состоит из Selenium IDE, Selenium RC, Selenium Webdriver и Selenium Grid

Почему драйвер WebDriver = new FirefoxDriver();

Selenium IDE:

Selenium IDE (интегрированная среда разработки) — это плагин для Firefox. Это самый простой фреймворк в Selenium Suite. Это позволяет нам записывать и воспроизводить сценарии. Несмотря на то, что мы можем создавать сценарии с помощью Selenium IDE, нам нужно использовать Selenium RC или Selenium WebDriver для написания более сложных и надежных тестовых примеров.

Как установить Selenium IDE

Selenium RC:< /сильный>

Selenium RC AKA Selenium 1. Selenium RC долгое время был основным проектом Selenium до того, как слияние WebDriver привело к появлению Selenium 2. Selenium 1 все еще активно поддерживается (в режиме обслуживания). Для автоматизации используется JavaScript. Он поддерживает Java, Javascript, Ruby, PHP, Python, Perl и C#. Он поддерживает практически все существующие браузеры.

Примечание. Selenium RC официально объявлен устаревшим.

Selenium WebDriver:

Selenium WebDriver — это платформа автоматизации браузера, которая принимает команды и отправляет их в браузер. Это реализовано через драйвер для браузера. Он управляет браузером, взаимодействуя с ним напрямую. Selenium WebDriver поддерживает Java, C#, PHP, Python, Perl, Ruby.

Поддержка операционных систем – Windows, Mac OS, Linux, Solaris
Поддержка браузеров – Mozilla Firefox, Internet Explorer, Google Chrome 12.0.712.0 и выше, Safari, Opera 11.5 и выше, Android, iOS, HtmlUnit 2.9 и выше

Как установить Selenium WebDriver

Selenium Grid:

Selenium Grid — это инструмент, используемый вместе с Selenium RC для параллельного запуска тестов на разных машинах в разных браузерах. То есть одновременное выполнение нескольких тестов на разных машинах с разными браузерами и операционными системами.

Selenium WebDriver — это хорошо разработанный объектно-ориентированный API, поддерживающий множество языков, таких как Java, C#, Python и т. д. Давайте посмотрим, что такое API и затем мы переходим к полному пониманию архитектуры Selenium WebDriver.

API: 

интерфейс прикладного программирования (API) работает как интерфейс между различными программными компонентами.

Изучите тестирование API за 10 минут

Selenium WebDriver API:

Selenium Webdriver API помогает в общении между языками и браузерами. Selenium поддерживает множество языков программирования, таких как Java, C#, Python и т. д., а также несколько браузеров, таких как Google Chrome, Firefox, Internet Explorer и т. д.

Вопросы на собеседовании Selenium WebDriver в реальном времени< /blockquote>

Каждый браузер имеет разную логику выполнения таких действий, как загрузка страницы, закрытие браузера и т. д.

Вот схема архитектуры Selenium WebDriver Framework

SELENIUM WEBDRIVER ARCHITECTURE | МАТЕРИАЛЫ ДЛЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Есть четыре компонента архитектуры Selenium:

  1. Клиентская библиотека Selenium
  2. Протокол JSON Wire over HTTP
  3. Драйверы браузера
  4. Браузеры

Клиентские библиотеки Selenium/Языковые привязки:

Selenium поддерживает несколько библиотек, таких как Java, Ruby, Python и т. д. Разработчики Selenium разработали языковые привязки, позволяющие Selenium поддерживать несколько языков. Ознакомьтесь с библиотеками Selenium на официальном сайте.

ПРОТОКОЛ JSON WIRE через HTTP-клиент:

JSON означает нотацию объектов JavaScript. Он используется для передачи данных между сервером и клиентом в Интернете. JSON Wire Protocol — это REST API, который передает информацию между HTTP-серверами. Каждый BrowserDriver (например, FirefoxDriver, ChromeDriver и т. д.) имеет собственный HTTP-сервер.

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

Каждый браузер содержит отдельный драйвер браузера. Драйверы браузера взаимодействуют с соответствующим браузером, не раскрывая внутреннюю логику работы браузера. Когда драйвер браузера получает какую-либо команду, эта команда будет выполнена в соответствующем браузере, и ответ вернется в виде ответа HTTP.

Браузеры:

Selenium поддерживает несколько браузеров, таких как Firefox, Chrome, IE, Safari и т. д.

Давайте посмотрим, как Selenium WebDriver работает внутри

В режиме реального времени вы пишете код в своем пользовательском интерфейсе (скажем, Eclipse IDE), используя любой из поддерживаемые клиентские библиотеки Selenium (скажем, Java).

Пример:

12

WebDriver driver  = new FirefoxDriver();driver.get(https://www.softwaretestingmaterial.com)

Как только вы закончите со своим скриптом, нажмите Выполнить, чтобы выполнить программу. На основании приведенных выше заявлений будет запущен браузер Firefox, и он перейдет на веб-сайт softwartestingmaterial.

Здесь мы видим, что произойдет внутри после того, как вы нажмете «Выполнить» до запуска браузера Firefox.

Как только вы нажмете «Выполнить», каждое выражение в вашем скрипте будет преобразовано в URL-адрес с помощью протокола JSON Wire Protocol через HTTP. URL-адреса будут переданы драйверам браузера. (В приведенном выше коде мы взяли FirefoxDriver). Здесь, в нашем случае, клиентская библиотека (java) преобразует операторы скрипта в формат JSON и связывается с FirefoxDriver. URL-адрес выглядит так, как показано ниже. размер вкладки:4;размер вкладки:4;размер шрифта:12px!важно;высота строки:15px!важно>http://localhost:8080/{"url":" https://www.softwaretestingmaterial.com"}

1

http://localhost:8080/{“url”:”https://www.softwaretestingmaterial.com”}

Каждый драйвер браузера использует HTTP-сервер для получения HTTP-запросов. Как только URL-адрес достигнет драйвера браузера, драйвер браузера передаст этот запрос реальному браузеру по HTTP. Затем команды в вашем скрипте selenium будут выполняться в браузере.

Если запрос является запросом POST, в браузере будет выполнено действие

Если запрос является GET, то соответствующий ответ будет сгенерирован на стороне браузера, и он будет отправлен через HTTP драйверу браузера и драйверу браузера по протоколу JSON Wire Protocol, а затем отправлен в пользовательский интерфейс (Eclipse IDE).

Это все об архитектуре Selenium WebDriver.

Понравился этот пост? Не забудьте поделиться ею!

Вот несколько отобранных статей для дальнейшего чтения:

  • Selenium Continuous Integration – [Selenium – Maven – Jenkins – Git]
  • Выполнение сценариев Selenium On BrowserStack — кросс-браузерное тестирование
  • Выполнение скриптов Selenium с использованием безголового браузера
  • Изучение – динамический XPath в Selenium – без каких-либо инструментов
  • Изучение – динамический локатор CSS в Selenium – без каких-либо инструментов

TAG: qa

От QA genius

Adblock
detector