Sobes.tech
Назад к вопросам
Junior — Middle
84

Как бы вы реализовали структуру главной страницы Яндекса, применяя паттерн Page Object?

Ответ от нейросети

sobes.tech AI

Паттерн Page Object предполагает создание класса, который инкапсулирует взаимодействие с элементами страницы и предоставляет методы для действий и получения данных.

Для главной страницы Яндекса можно создать класс YandexMainPage, который содержит локаторы для основных элементов: поисковая строка, кнопка поиска, ссылки на сервисы и т.д. Внутри класса реализуются методы, например, enterSearchQuery(String query), clickSearchButton(), openMailService().

Пример на Java с использованием Selenium:

public class YandexMainPage {
    private WebDriver driver;

    private By searchInput = By.id("text");
    private By searchButton = By.cssSelector("button[type='submit']");

    public YandexMainPage(WebDriver driver) {
        this.driver = driver;
    }

    public void enterSearchQuery(String query) {
        driver.findElement(searchInput).sendKeys(query);
    }

    public void clickSearchButton() {
        driver.findElement(searchButton).click();
    }

    // Можно добавить методы для проверки видимости элементов, перехода по ссылкам и т.д.
}

Такой подход облегчает поддержку тестов, так как изменения в UI требуют правок только в Page Object, а не во всех тестах.