Junior — Middle
How would you implement the main page structure of Yandex using the Page Object pattern?
sobes.tech AI
Answer from AI
The Page Object pattern involves creating a class that encapsulates interactions with page elements and provides methods for actions and data retrieval.
For Yandex's main page, you can create a class YandexMainPage that contains locators for key elements: search input, search button, links to services, etc. Inside the class, methods are implemented, for example, enterSearchQuery(String query), clickSearchButton(), openMailService().
Here's an example in Java using 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();
}
// You can add methods for checking element visibility, navigating links, etc.
}
This approach simplifies test maintenance, as UI changes only require updates in the Page Object, not in all tests.