package TestNG;
import java.util.List;
import org.apache.log4j.xml.DOMConfigurator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Reporter;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import Pages.Browser;
import Pages.HomePage;
import Pages.LoginPage;
public class LoginLogout2 {
static WebDriver driver;
public static LoginPage pageLogin;
public static HomePage pageHome;
public static Browser specificBrowser;
Actions builder;
Action act;
public static WebDriverWait wait;
String timeInMilisecond="Test"+System.currentTimeMillis();
public LoginLogout2() {
pageLogin = new LoginPage(driver);
pageHome = new HomePage(driver);
// specificBrowser = new Browser(driver);
}
@BeforeTest(alwaysRun = true)
@Parameters ({"sBrowser"})
public void setUp(String browser) throws Exception {
try {
DOMConfigurator.configure("log4j.xml");
Log.startTestCase("Registration");
if(browser.equalsIgnoreCase("Firefox")) //FIREFOX
{
//driver = specificBrowser.firefox(driver);
driver = new FirefoxDriver();
}
if(browser.equalsIgnoreCase("Chrome")) //CHROME
{
driver = specificBrowser.chrome(driver);
}
if(browser.equalsIgnoreCase("IE")) //INTERNET EXPLORER
{
driver = specificBrowser.internetExplorer(driver);
}
wait = new WebDriverWait(driver, 120);
driver.manage().window().maximize();
} catch (Exception e) {
Reporter.log(e.toString());
Log.info(e.toString());
}
}
@Test(priority=0,enabled=true)
@Parameters ({"sBaseUrl","sPageUrl","sLocal","sEmail","sPassword","sWelcome"})
public void existingUserloginLogout(String baseUrl,String pageUrl,String local,String email,String password,String welcomeMsg) throws Exception
{
pageHome.openHomePage(driver, baseUrl, pageUrl, local);
pageHome.signINLink(driver, local);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//*[@id='loginForm']/input[4]"))));
pageLogin.userNamePasswordField(driver,email, password);
pageLogin.buttonSIGNIN(driver,local);
pageLogin.verificationMsg(driver,welcomeMsg);
pageHome.signOUTLink(driver, local);
pageHome.verificationMsg(driver, local);
}
@Test(priority=1,dependsOnMethods={"existingUserloginLogout"})
@Parameters ({"sBaseUrl","sPageUrl","sLocal","sEmail","sPassword","sWelcome","sExpetMsgEmailMiss"})
public void blankUserName(String baseUrl,String pageUrl,String local,String email,String password,String welcomeMsg,String expectedMsg) throws Exception
{
pageLogin.openLoginPage(driver,baseUrl);
pageLogin.userNamePasswordField(driver,"", password);
pageLogin.buttonSIGNIN(driver,local);
pageLogin.verificationMsg(driver,expectedMsg);
}
@Test(priority=2,dependsOnMethods={"blankUserName"})
@Parameters ({"sBaseUrl","sPageUrl","sLocal","sEmail","sPassword","sWelcome","sExpetMsgPasswordMiss"})
public void blankPassword(String baseUrl,String pageUrl,String local,String email,String password,String welcomeMsg,String expectedMsg) throws Exception
{
pageLogin.openLoginPage(driver,baseUrl);
pageLogin.userNamePasswordField(driver,email, "");
pageLogin.buttonSIGNIN(driver,local);
pageLogin.verificationMsg(driver,expectedMsg);
}
@Test(priority=3,dependsOnMethods={"blankPassword"})
@Parameters ({"sBaseUrl","sPageUrl","sLocal","sEmail","sPassword","sWelcome","sExpetMsgEmailMiss","sExpetMsgPasswordMiss"})
public void blankEmailPassword(String baseUrl,String pageUrl,String local,String email,String password,String welcomeMsg,String missEmailMsg,String missPasswordlMsg) throws Exception
{
pageLogin.openLoginPage(driver,baseUrl);
pageLogin.userNamePasswordField(driver,"","");
pageLogin.buttonSIGNIN(driver,local);
pageLogin.verificationMsg(driver,missEmailMsg);
pageLogin.verificationMsg(driver,missPasswordlMsg);
}
@AfterTest(alwaysRun = true)
@Parameters ({"sBrowser"})
public void tearDown(String browser) throws Exception {
Log.endTestCase("LoginLogout");
// Reporter.log("I am in "+browser);
// driver.close();
driver.quit();
}
}