atesting.ru Блог Где вы применили OOPS в Automation Framework

Где вы применили OOPS в Automation Framework

Вы можете столкнуться с этим вопросом (где вы применили концепцию OOPS в Automation Framework) почти во всех интервью Selenium. Прежде чем двигаться дальше, изучите концепцию OOPS в Java. Ранее мы опубликовали концепцию OOPS на Java с некоторыми простыми для понимания примерами.

 Где вы применили OOPS в Automation Framework

Также проверьте этот пост с объяснением фреймворка автоматизации Selenium. Я использую компоненты этого поста для объяснения текущего поста (т. Е. Применения концепций OOPS в Automation Framework).

«Где

Концепции OOPS в Selenium Automation Framework

В этом посте мы обсудим, как и где мы применили следующие концепции ООП в Automation Framework.

 Где вы применили OOPS в Automation Framework

# 1. АБСТРАКЦИЯ

Абстракция — это методология сокрытия реализации внутренних деталей и демонстрации функциональности пользователям.

Давайте посмотрим на пример абстракции данных в Selenium Automation Framework.

В шаблоне проектирования объектной модели страницы мы пишем локаторы (такие как id, name, xpath и т. д.) и методы в классе страницы. Мы используем эти локаторы в тестах, но не видим, как они реализуются. Буквально мы скрываем реализации локаторов от тестов.

Подробнее об абстракции

В Java абстракция достигается интерфейсами и абстрактными классами. Используя интерфейсы, мы можем добиться 100% абстракции.

Давайте посмотрим на концепцию интерфейса ниже.

№2. ИНТЕРФЕЙС

Базовое выражение, которое мы все знаем в Selenium, — это WebDriver driver = new FirefoxDriver ();

WebDriver сам по себе является интерфейсом. Итак, на основе приведенного выше утверждения WebDriver driver = new FirefoxDriver (); мы инициализируем браузер Firefox с помощью Selenium WebDriver. Это означает, что мы создаем ссылочную переменную (драйвер) интерфейса (WebDriver) и создание объекта . Здесь WebDriver — это интерфейс , как упоминалось ранее, а FirefoxDriver — это класс .

An Интерфейс в Java похож на класс, но интерфейс и класс — это две разные концепции. Интерфейс может иметь методы и переменные, как и класс, но методы, объявленные в интерфейсе, по умолчанию являются абстрактными. Мы можем добиться 100% абстракции и множественного наследования в Java с помощью интерфейса.

Подробнее об интерфейсе можно узнать здесь.

№3. НАСЛЕДОВАНИЕ

Механизм в Java, с помощью которого один класс получает свойства (переменные экземпляра) и функциональные возможности другого класса, известен как наследование.

Мы создаем базовый класс в Платформа автоматизации для инициализации интерфейса WebDriver, ожиданий WebDriver, файлов свойств, Excel и т. д. в базовом классе.

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

Здесь мы расширяем один класс (базовый класс, такой как интерфейс WebDriver) в другой класс (например, тесты, служебный класс), известный как наследование.

Подробнее о наследовании здесь.

# 4. ПОЛИМОРФИЗМ

Полиморфизм позволяет нам выполнять задачу несколькими способами.

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

Подробнее о полиморфизме можно узнать здесь.

# 1. ПЕРЕГРУЗКА МЕТОДА

Мы используем неявное ожидание в Selenium. Неявное ожидание — это пример перегрузки. В неявном ожидании мы используем разные отметки времени, такие как СЕКУНДЫ, МИНУТЫ, ЧАСЫ и т. Д.

Класс действия в TestNG также является примером перегрузки.

Класс Assert в TestNG также является примером перегрузки.

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

Подробнее о перегрузке можно узнать здесь.

№2. ПЕРЕОПРЕДЕЛЕНИЕ МЕТОДА

Мы используем метод, который уже был реализован в другом классе, изменяя его параметры. Чтобы понять это, вам нужно понять Переопределение в Java.

Объявление метода в дочернем классе, который уже присутствует в родительском классе, называется Переопределением метода. Примерами являются методы get и navigate различных драйверов в Selenium.

Подробнее о переопределении с примерами можно узнать здесь

№5. ИНКАПСУЛЯЦИЯ

Все классы в структуре являются примером инкапсуляции. В классах POM мы объявляем элементы данных с помощью @FindBy , а инициализация элементов данных будет выполняться с помощью конструктора для использования их в методах.

Инкапсуляция — это механизм связывания кода и данные (переменные) вместе в одном блоке.

Подробнее об инкапсуляции здесь

Другие концепции Selenium Automation Framework

Я хотел бы обсудить некоторые другие темы, которые мы используем в Automation Framework.

# 1. ВЕБ-ЭЛЕМЕНТ

Веб-элемент — это интерфейс, используемый для идентификации элементов на веб-странице.

# 2. WEBDRIVER

WebDriver — это интерфейс, используемый для запуска различных браузеров, таких как Firefox, Chrome, Internet Explorer, Safari и т. Д.

# 3. FIND BY

FindBy — это аннотация, используемая в шаблоне проектирования объектной модели страницы для идентификации элементов.

# 4. НАЙТИ ЭЛЕМЕНТ

Найти элемент — это метод в POM для идентификации элементов на веб-странице.

Изучите Java — настраиваемый пост для тестировщиков автоматизации Selenium

Вам также могут понравиться:

  • Вопросы на собеседовании по Selenium
  • Учебник по Selenium
  • Вопросы на собеседовании по Java
  • Учебник по Java
  • Вопросы на собеседовании по TestNG
  • Учебное пособие по TestNG
  • Вопросы для собеседования по ручному тестированию
  • Учебное пособие по ручному тестированию

TAG: qa