Commit 0a43af69 authored by Ben Anderson's avatar Ben Anderson

Implemented account details test

parent 5ca04c6a
allure-results/
\ No newline at end of file
package com.nisum.banderson;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class AccountPage extends Page {
@FindBy(xpath = "//*[@id=\"uca-root\"]/main/div/div/div[2]/div/p[1]")
WebElement heading;
@FindBy(id = "input-firstName")
WebElement firstNameInput;
@FindBy(id = "input-lastName")
WebElement lastNameInput;
@FindBy(id = "emailIdaccount")
WebElement emailInput;
public AccountPage(WebDriver driver) {
super(driver);
}
public void navigateTo() {
new Login(getDriver()).login();
Header header = new Header(getDriver());
Sidebar sidebar = new Sidebar(getDriver());
PageFactory.initElements(getDriver(), sidebar);
PageFactory.initElements(getDriver(), this);
header.getOpenSidebarButton().click();
sidebar.accountButton.click();
}
}
......@@ -3,6 +3,9 @@ package com.nisum.banderson;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Login extends Page {
......@@ -22,5 +25,23 @@ public class Login extends Page {
return getDriver().findElement(By.id(("btnSignIn")));
}
public void login() {
WebDriver driver = getDriver();
Header header = new Header(driver);
Sidebar sidebar = new Sidebar(driver);
Login login = new Login(driver);
PageFactory.initElements(driver, sidebar);
header.getOpenSidebarButton().click();
sidebar.openModalButton.click();
login.getEmailInput().sendKeys(PropertyManager.getInstance().getEmail());
login.getPasswordInput().sendKeys(PropertyManager.getInstance().getPassword());
login.getSignInButton().click();
new WebDriverWait(driver, 20)
.until(ExpectedConditions.textToBe(
By.className("menu-nav__profile-button-sign-in-up"),
"Account"
));
}
}
......@@ -3,7 +3,6 @@ package com.nisum.banderson;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
......@@ -38,7 +37,7 @@ public class Test {
System.out.printf(
"Running WebDriver on %s browser running on %s platform...", PropertyManager.getInstance().getBrowser(), platform
);
driver.manage().window().fullscreen();
driver.manage().window().maximize();
driver.navigate().to(url);
}
......@@ -50,34 +49,45 @@ public class Test {
@org.junit.jupiter.api.Test
public void login() throws Exception {
Header header = new Header(driver);
Sidebar sidebar = new Sidebar(driver);
Login login = new Login(driver);
PageFactory.initElements(driver, sidebar);
Header header = new Header(driver);
login.login();
header.getOpenSidebarButton().click();
sidebar.openModalButton.click();
login.getEmailInput().sendKeys(PropertyManager.getInstance().getEmail());
login.getPasswordInput().sendKeys(PropertyManager.getInstance().getPassword());
login.getSignInButton().click();
new WebDriverWait(driver, 20)
.until(ExpectedConditions.textToBe(
By.className("menu-nav__profile-button-sign-in-up"),
"Account"
));
Assertions.assertEquals("Account", header.getOpenSidebarButton().getText());
}
@org.junit.jupiter.api.Test
public void testNavigation() {
Header header = new Header(driver);
Sidebar sidebar = new Sidebar(driver);
PageFactory.initElements(sidebar.getDriver(), sidebar);
header.getOpenSidebarButton().click();
sidebar.accountButton.click();
AccountPage accountPage = new AccountPage(driver);
accountPage.navigateTo();
Assertions.assertEquals("Account Settings | albertsons", driver.getTitle());
}
@org.junit.jupiter.api.Test
public void confirmAccountDetails() throws InterruptedException {
AccountPage accountPage = new AccountPage(driver);
PageFactory.initElements(driver, accountPage);
accountPage.navigateTo();
new WebDriverWait(driver, 20)
.until(ExpectedConditions.titleIs("Account Settings | albertsons"));
Thread.sleep(3000);
Assertions.assertAll(
() -> Assertions.assertEquals(
PropertyManager.getInstance().getFirstName(),
accountPage.firstNameInput.getAttribute("value")
), () -> Assertions.assertEquals(
PropertyManager.getInstance().getLastName(),
accountPage.lastNameInput.getAttribute("value")
), () -> Assertions.assertEquals(
PropertyManager.getInstance().getEmail(),
accountPage.emailInput.getAttribute("value")
)
);
}
}
first_name=Ben
last_name=Anderson
email=
password=
browser=chrome
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment