Junior — Middle
107
Какие методы и свойства ты реализовал в классе Base Page?
Компании, где спрашивали
Ответ от нейросети
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 классы.