package page; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.FindBy; import java.util.List; public class MainPage { WebDriver driver; @FindBy(css = ".header-nav-item-link") private List mainMenu; @FindBy(xpath = "/html/body/div[1]/div/div[2]/div/div[1]/div[7]/nav/ul/li[8]/div/div/ul[2]/li[1]/ul/li[1]/a") private WebElement subMenu; @FindBy(css = ".footer-nav-link") private List footerMenu; @FindBy(css = ".header-logo") private WebElement mVideoLogo; @FindBy(css = ".shop-service-list .view-all-base") private List readMore; @FindBy(css = ".socials-link") private List socialLink; @FindBy(css = ".promo-banner-slider-info .btn") private WebElement reviews; @FindBy(css = ".header-search-input") private WebElement inputField; @FindBy(css = ".header-login-option-link") private List authReg; @FindBy(xpath = ".//*[@id=\"js-form-submit-id\"]") private WebElement basketIcon; @FindBy(id = "frm-subscr-email-address") private WebElement inputEMail; @FindBy(id = "submitSubscribe") private WebElement sbmtSubBtn; public MainPage(WebDriver driver) { this.driver = driver; } public boolean isLogoPresent() { return driver.findElement(By.cssSelector(".header-logo")).isDisplayed(); } public boolean isAccountPresent() { return driver.findElement(By.cssSelector(".my-account-personal-photo-placeholder")).isDisplayed(); } public boolean isSubSuccess() { return driver.findElement(By.cssSelector(".text-success")).isDisplayed(); } public void clickMainMenu() { mainMenu.get(1).sendKeys(Keys.RETURN); } public void clickSubMenu() { Actions builder = new Actions(driver); builder.moveToElement(mainMenu.get(7)).perform(); subMenu.sendKeys(Keys.RETURN); } public void clickFooterMenu() { footerMenu.get(1).sendKeys(Keys.RETURN); } public void clickLogo() { mVideoLogo.sendKeys(Keys.RETURN); } public void clickReadMore() { readMore.get(1).sendKeys(Keys.RETURN); } public void clickSocialLink() { String base = driver.getWindowHandle(); socialLink.get(0).sendKeys(Keys.RETURN); driver.switchTo().window(base); } public void clickReviews() { reviews.sendKeys(Keys.RETURN); } public MainPage setSearchString(String text) { inputField.sendKeys(text); return this; } public void clickSubmitButton() { inputField.sendKeys(Keys.RETURN); } public void clickAuth() { authReg.get(0).sendKeys(Keys.RETURN); } public void clickReg() { authReg.get(1).sendKeys(Keys.RETURN); } public void clickBasketIcon() { basketIcon.sendKeys(Keys.RETURN); } public MainPage setEmail(String eMailText) { inputEMail.sendKeys(eMailText); return this; } public void clickSubmitSub() { sbmtSubBtn.sendKeys(Keys.RETURN); } }