ГДЕ ВЫ ПРИМЕНИЛИ ООП В СТРУКТУРЕ АВТОМАТИЗАЦИИ

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

 ГДЕ ВЫ ПРИМЕНИЛИ OOPS В СТРУКТУРЕ АВТОМАТИЗАЦИИ

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

ГДЕ ВЫ ПРИМЕНИЛИ ООП В РАМКАХ АВТОМАТИЗАЦИИ

Концепции ООП в Selenium Automation Framework

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

ГДЕ ВЫ ПРИМЕНИЛИ ООП В СТРУКТУРЕ АВТОМАТИЗАЦИИ< /p>

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

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

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

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

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

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

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

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

Основной оператор, который мы все знаем в Selenium, это WebDriver driver = new FirefoxDriver();

< p>Подробное объяснение того, почему мы пишем WebDriver driver = new FirefoxDriver(); в Selenium.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#2. ПЕРЕОПРЕДЕЛЕНИЕ МЕТОДОВ

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

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

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

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

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

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

Узнайте больше об инкапсуляции здесь

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

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

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

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

#2. WEBDRIVER

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

#3. FIND BY

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

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

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

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

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

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

TAG: qa

От QA genius

Adblock
detector