Sobes.tech
Junior — Middle
106

Какие методы и свойства ты реализовал в классе Base Page?

Companies where asked
IT OneIT One

Answer from AI

sobes.tech AI

В классе Base Page обычно реализуют базовые методы и свойства, которые будут использоваться на всех страницах в тестах автоматизации. Это помогает избежать дублирования кода и упростить поддержку.

Типичные методы и свойства:

  • Конструктор: принимает WebDriver или аналогичный объект для взаимодействия с браузером.
  • Метод ожидания элемента: например, waitForElement(locator), который ждет появления элемента на странице.
  • Метод клика по элементу: click(locator) с дополнительной проверкой доступности элемента.
  • Метод ввода текста: enterText(locator, text) для заполнения полей.
  • Метод получения текста элемента: getText(locator).
  • Метод проверки видимости элемента: isVisible(locator).
  • Общие свойства: например, базовый URL, таймауты ожидания.

Пример на Python с Selenium:

class BasePage:
    def __init__(self, driver):
        self.driver = driver

    def wait_for_element(self, locator, timeout=10):
        from selenium.webdriver.support.ui import WebDriverWait
        from selenium.webdriver.support import expected_conditions as EC
        return WebDriverWait(self.driver, timeout).until(EC.presence_of_element_located(locator))

    def click(self, locator):
        element = self.wait_for_element(locator)
        element.click()

    def enter_text(self, locator, text):
        element = self.wait_for_element(locator)
        element.clear()
        element.send_keys(text)

    def get_text(self, locator):
        element = self.wait_for_element(locator)
        return element.text

    def is_visible(self, locator):
        try:
            element = self.wait_for_element(locator)
            return element.is_displayed()
        except:
            return False

Такой класс служит основой для всех страниц, от которых наследуются конкретные Page Object классы.