128 lines
3.2 KiB
Java
128 lines
3.2 KiB
Java
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<WebElement> 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<WebElement> footerMenu;
|
|
|
|
@FindBy(css = ".header-logo")
|
|
private WebElement mVideoLogo;
|
|
|
|
@FindBy(css = ".shop-service-list .view-all-base")
|
|
private List<WebElement> readMore;
|
|
|
|
@FindBy(css = ".socials-link")
|
|
private List<WebElement> 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<WebElement> 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);
|
|
}
|
|
}
|