atesting.ru Блог Архитектура Selenium WebDriver | Материалы для тестирования программного обеспечения

Архитектура Selenium WebDriver | Материалы для тестирования программного обеспечения

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

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

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

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

Почему драйвер WebDriver = новый 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 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 в реальном времени

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

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

Архитектура Selenium WebDriver | Материалы для тестирования программного обеспечения

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

Архитектура Selenium состоит из четырех компонентов:

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

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

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

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

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

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

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

Браузеры:

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

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

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

Пример:

12 Драйвер WebDriver = новый FirefoxDriver (); driver.get (https://www.softwaretestingmaterial.com)

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

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

После того, как вы нажмете «Выполнить», каждый оператор в вашем скрипте будет преобразован в URL-адрес с помощью протокола JSON Wire через HTTP. URL-адреса будут переданы драйверам браузера. (В приведенном выше коде мы взяли FirefoxDriver). В нашем случае клиентская библиотека (java) преобразует операторы скрипта в формат JSON и взаимодействует с FirefoxDriver. URL-адрес выглядит так, как показано ниже.

1 http: //localhost: 8080/{& # 34; url & # 34;: & # 34; https: //www.softwaretestingmaterial.com"}

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

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

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

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

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

Вот несколько тщательно подобранных статей, которые вы должны прочитать дальше:

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

TAG: qa