Here goes the classes:
------------------------------
LoginPage.java
package tips.fruit.evergreen;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
/*
*
* This class will store all the locators and methods of login page.
*
*/
public class LoginPage {
WebDriver driver;
By closeModalButton = By.xpath("//*[@id='planModal-home-2']/div/button");
By signInMenu = By.xpath("//*[@id='navbar']/div[2]/div/div/div[2]/div[2]/div[2]/div[1]/span[1]");
By menuButton = By.xpath("//*[@id='navbar']/div[2]/div/div/div[1]/button");
//By signInMenu = By.xpath("//*[@id='navbar']/div[2]/div/div/div[1]/button");
//By signInMenu = By.linkText("???? ?????????");
//By signInMenu = By.partialLinkText("?????");
By signInMenuButton = By.xpath("//*[@id='custom-registration-home-registration-form']/div/a");
By username = By.xpath("//*[@id='edit-name']");
By password = By.xpath(".//*[@id='edit-pass']");
By SignInFormButton = By.xpath("//*[@id='edit-submit']");
public LoginPage(WebDriver driver)
{
this.driver = driver;
}
public void clickCloseModalButton()
{
driver.findElement(closeModalButton).click();
}
public void clickMenuButton()
{
WebDriverWait wait = new WebDriverWait(driver, 45);
wait.until(ExpectedConditions.visibilityOfElementLocated(menuButton));
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", menuButton);
//driver.findElement(menuButton).click();
}
public void clickSignInMenu()
{
/*
WebDriverWait wait = new WebDriverWait(driver, 45);
wait.until(ExpectedConditions.visibilityOfElementLocated(signInMenu));
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", signInMenu);
*/
driver.findElement(signInMenu).click();
}
public void clickSignInMenuButton()
{ /*
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.visibilityOfElementLocated(signInMenuButton));
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", signInMenuButton);*/
driver.findElement(signInMenuButton).click();
}
public void typeUserName()
{ /*
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", username);
driver.findElement(username).sendKeys("01729111333");*/
driver.findElement(username).click();
}
public void typePassword()
{
/*
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", password);
driver.findElement(password).sendKeys("01729111333");*/
driver.findElement(password).click();
}
public void clickSignInFormButton()
{
/*
JavascriptExecutor exe = (JavascriptExecutor)driver;
exe.executeScript("arguments[0].click();", SignInFormButton);
driver.findElement(SignInFormButton).click();*/
driver.findElement(SignInFormButton).click();
}
}
----------------------------------------------------
-----------------------------------------------------
VerifyEvergreenLogin.java
package fruit.evergreen.testcases;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
//import org.openqa.selenium.support.ui.ExpectedConditions;
//import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;
import tips.fruit.evergreen.LoginPage;
/*
*
* This class is a test case of the login page.
*
*/
public class VerifyEvergreenLogin {
@Test
public void verifyValidLogin()
{
WebDriver driver = new FirefoxDriver();
//driver.manage().window().maximize();
driver.get("
http://evergreen.fruit.tips");
//driver.get("
http://mytonic.com");
LoginPage logon = new LoginPage(driver);
logon.clickCloseModalButton();
logon.clickMenuButton();
logon.clickSignInMenu();
logon.clickSignInMenuButton();
logon.typeUserName();
logon.typePassword();
logon.clickSignInFormButton();
driver.quit();
}
}
-----------------------------------------------------------