LoginPOMCLass
package com.sauceDemo.POMClasses;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class LoginPOMClass
{
private WebDriver driver;
@FindBy(xpath ="//form//div[1]//input" )
private WebElement username;
public void sendUsername()
{
username.sendKeys("standard_user");
}
@FindBy(xpath="//form//div[2]//input")
private WebElement passWord;
public void sendPassword()
{
passWord.sendKeys("secret_sauce");
}
@FindBy(xpath="/html/body/div/div/div[2]/div[1]/div[1]/div/form/input")
private WebElement loginButton;
public void clickOnLoginButton()
{
loginButton.click();
}
public LoginPOMClass(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
}
}
HomePagePOMClass
package com.sauceDemo.POMClasses;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class HomePOMClass
{
private WebDriver driver;
//settingButton
@FindBy(xpath="//button[@id='react-burger-menu-btn']")
private WebElement settingButton;
public void clickOnSettingButton()
{
settingButton.click();
}
//logOut button
@FindBy(xpath="//a[text()='Logout']")
private WebElement logOutButton;
public void clickOnLogOutButton()
{
logOutButton.click();
}
public HomePOMClass(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
}
}
Scenarios1-VerifyLogin
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerifyLoginFunctionality
{
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//validation //given
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle(); //actual
if(expectedTitle.equals(actualTitle))
{
System.out.println("we have successfully logined to saucedmo ");
System.out.println("Test case is passed");
}
else
{
System.out.println("Test case is failed");
}
// driver.close();
System.out.println("broswer is closed");
}
}
VerifyLogOut
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerifyLogOutFunctionality
{
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan
Velo\\Automation Batch
Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30))
;
//loginActivity
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
System.out.println("Enter the userName");
lp.sendPassword();
System.out.println("Enter the password");
lp.clickOnLoginButton();
System.out.println("Click on LoginButton");
//homePage
//logOutActivity
HomePOMClass hp = new HomePOMClass(driver);
hp.clickOnSettingButton();
System.out.println("Click on SettingButton");
hp.clickOnLogOutButton();
System.out.println("Click on LogOutButton");
System.out.println("Applying the validation");
//loginpage
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle();
if(expectedTitle.equals(actualTitle))
{
System.out.println("Test Case is passed");
}
else
{
System.out.println("Test Case is failed");
}
driver.close();
System.out.println("Browser is closed");
}
}
LoginPagePOMClass
package com.sauceDemo.POMClasses;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class LoginPOMClass
{
private WebDriver driver;
private Actions act;
@FindBy(xpath ="//form//div[1]//input" )
private WebElement username;
public void sendUsername()
{
username.sendKeys("standard_user");
}
@FindBy(xpath="//form//div[2]//input")
private WebElement passWord;
public void sendPassword()
{
passWord.sendKeys("secret_sauce");
}
@FindBy(xpath="/html/body/div/div/div[2]/div[1]/div[1]/div/form/input")
private WebElement loginButton;
//normal click process-webelement method
// public void clickOnLoginButton()
// {
// loginButton.click();
// }
//mouse action click method
public void clickOnLoginButton()
{
act.click(loginButton).perform();
}
public LoginPOMClass(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
act = new Actions(driver);
}
}
HOMEPagePOMClass
package com.sauceDemo.POMClasses;
import java.util.List;
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.Select;
public class HomePOMClass
{
private WebDriver driver;
private Select s;
//settingButton
@FindBy(xpath="//button[@id='react-burger-menu-btn']")
private WebElement settingButton;
public void clickOnSettingButton()
{
settingButton.click();
}
//logOut button
@FindBy(xpath="//a[text()='Logout']")
private WebElement logOutButton;
public void clickOnLogOutButton()
{
logOutButton.click();
}
//bag element
@FindBy(xpath="(//button[text()='Add to cart'])[1]")
private WebElement bagButton;
public void clickOnBagButton()
{
bagButton.click();
}
//add to cart button
@FindBy(xpath="//span[@class='shopping_cart_badge']")
private WebElement addToCartButton;
public String getTextFromCartButton()
{
String totalProducts= addToCartButton.getText();
return totalProducts;
}
//multiple products elements
@FindBy(xpath="//button[text()='Add to cart']")
private List<WebElement> multiAddToCartButton;
public void clickAllProduct()
{
for(int i=0; i<multiAddToCartButton.size();i++)
{
multiAddToCartButton.get(i).click();
}
}
//filter dropdown
@FindBy(xpath="//select[@class='product_sort_container']")
private WebElement dropDownFilter;
public void clickOnDropDownFilter()
{
dropDownFilter.click();
s.selectByVisibleText("Price (low to high)");
}
public HomePOMClass(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
s = new Select(dropDownFilter);
}
}
VerifyLoginTestClass
package com.sauceDemo.TestClasses;
import java.io.IOException;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.LoginPOMClass;
import com.sauceDemo.UtilityClasses.ScreenshotClass;
public class VerifyLoginFunctionality
{
public static void main(String[] args) throws IOException
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
//screenshot
ScreenshotClass.takeScreenshot(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//take screenshot
ScreenshotClass.takeScreenshot(driver);
//validation //given
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle(); //actual
if(expectedTitle.equals(actualTitle))
{
System.out.println("we have successfully logined to saucedmo ");
System.out.println("Test case is passed");
}
else
{
System.out.println("Test case is failed");
}
driver.quit();
System.out.println("broswer is closed");
}
}
VerifyLogOutTestClass
package com.sauceDemo.TestClasses;
import java.io.IOException;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.LoginPOMClass;
import com.sauceDemo.UtilityClasses.ScreenshotClass;
public class VerifyLoginFunctionality
{
public static void main(String[] args) throws IOException
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
//screenshot
ScreenshotClass.takeScreenshot(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//take screenshot
ScreenshotClass.takeScreenshot(driver);
//validation //given
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle(); //actual
if(expectedTitle.equals(actualTitle))
{
System.out.println("we have successfully logined to saucedmo ");
System.out.println("Test case is passed");
}
else
{
System.out.println("Test case is failed");
}
driver.quit();
System.out.println("broswer is closed");
}
}
VerifySIngleBagProduct
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerfiybagProductAddtoCartFunctionality
{
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan
Velo\\Automation Batch
Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30))
;
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//homePage
HomePOMClass hp = new HomePOMClass(driver);
hp.clickOnBagButton();
String actaulCount = hp.getTextFromCartButton();
String expectedCount = "1";
if(expectedCount.equals(actaulCount))
{
System.out.println("TC is passed");
}
else
{
System.out.println("TC is failed");
}
driver.close();
}
}
VerifyMultipleProduct
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerifyMultipleproductAddtoCartFunctionality
{
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan
Velo\\Automation Batch
Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30))
;
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//homePage
HomePOMClass hp = new HomePOMClass(driver);
hp.clickAllProduct();
String actualCount = hp.getTextFromCartButton();
String expectedCount = "6";
if(expectedCount.equals(actualCount))
{
System.out.println("Tc is passed");
}
else
{
System.out.println("TC is failed");
}
// driver.quit();
//assignment
// for loop -->single products
// mutliple product--> for each loop
}
}
ScreenshotCOde
package com.sauceDemo.UtilityClasses;
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.io.FileHandler;
public class ScreenshotClass
{
public static void takeScreenshot(WebDriver driver) throws
IOException
{
//date & time format code
Date d = new Date();
DateFormat d1 = new SimpleDateFormat("MM-dd-yy &
HH-mm-ss");
String date = d1.format(d);
//screenshot
TakesScreenshot ts = (TakesScreenshot)driver;
File sourceFile =
ts.getScreenshotAs(OutputType.FILE);
File destFile = new File("D:\\Back-up
Data\\Desktop-Backup\\Pavan Velo\\Automation Batch Material\\April-
16thBatch\\ScreenshotFolder\\SauceDemoPP"+date+".jpg");
FileHandler.copy(sourceFile, destFile);
System.out.println("login screenshot is taken");
}
}
package com.sauceDemo.POMClasses;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public class RoughPOMCLass
{
WebDriver driver;
@FindBy(xpath="//form//div[2]//input")
private WebElement frameEle;
public WebElement getElement()
{
return frameEle;
}
public RoughPOMCLass(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
}
}
package com.sauceDemo.TestClasses;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import com.sauceDemo.POMClasses.RoughPOMCLass;
public class RoughTestClass
{
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan
Velo\\Automation Batch
Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
RoughPOMCLass rp= new RoughPOMCLass(driver);
WebElement frameEle = rp.getElement();
//switch TO frame
driver.switchTo().frame(frameEle);
}
}
package com.sauceDemo.TestClasses;
import java.io.IOException;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.LoginPOMClass;
import com.sauceDemo.UtilityClasses.ScreenshotClass;
public class VerifyLoginFunctionality
{
@Test
public void loginFuntionality() throws IOException
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
//screenshot
ScreenshotClass.takeScreenshot(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//take screenshot
ScreenshotClass.takeScreenshot(driver);
//validation //given
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle(); //actual
if(expectedTitle.equals(actualTitle))
{
System.out.println("we have successfully logined to saucedmo ");
System.out.println("Test case is passed");
}
else
{
System.out.println("Test case is failed");
}
driver.quit();
System.out.println("browser is closed");
}
}
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerifyLogOutFunctionality
{
@Test
public void logOutFunctionality()
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//loginActivity
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
System.out.println("Enter the userName");
lp.sendPassword();
System.out.println("Enter the password");
lp.clickOnLoginButton();
System.out.println("Click on LoginButton");
//homePage
//logOutActivity
HomePOMClass hp = new HomePOMClass(driver);
hp.clickOnSettingButton();
System.out.println("Click on SettingButton");
hp.clickOnLogOutButton();
System.out.println("Click on LogOutButton");
System.out.println("Applying the validation");
//loginpage
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle();
if(expectedTitle.equals(actualTitle))
{
System.out.println("Test Case is passed");
}
else
{
System.out.println("Test Case is failed");
}
driver.quit();
System.out.println("browser is closed");
}
}
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerfiybagProductAddtoCartFunctionality
{
@Test
public void bagProductAddTOCartFunctionality()
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//homePage
HomePOMClass hp = new HomePOMClass(driver);
hp.clickOnBagButton();
String actaulCount = hp.getTextFromCartButton();
String expectedCount = "1";
if(expectedCount.equals(actaulCount))
{
System.out.println("TC is passed");
}
else
{
System.out.println("TC is failed");
}
driver.quit();
System.out.println("browser is closed");
}
}
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class VerifyMultipleproductAddtoCartFunctionality
{
@Test
public void mutipleProductAddToCartFunctionality()
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan Velo\\Automation
Batch Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
//homePage
HomePOMClass hp = new HomePOMClass(driver);
hp.clickAllProduct();
String actualCount = hp.getTextFromCartButton();
String expectedCount = "6";
if(expectedCount.equals(actualCount))
{
System.out.println("Tc is passed");
}
else
{
System.out.println("TC is failed");
}
driver.quit();
System.out.println("browser is closed");
//assignment
// for loop -->single products
// mutliple product--> for each loop
}
}
TestNG Basic Program
package testNG;
import org.testng.annotations.Test;
public class TestNGBasicProgram
{
@Test
public void method1()
{
System.out.println("Hii");
}
}
Practice-1
package testNG;
public class Practice1
{
public static void method1()
{
System.out.println("method1");
}
public static void method2()
{
System.out.println("method2");
}
public static void method3()
{
System.out.println("method3");
}
public static void main(String[] args)
{
method1();
method2();
method3();
}
}
Practice-2
package testNG;
public class Practice1
{
public static void method1()
{
System.out.println("method1");
}
public static void method2()
{
System.out.println("method2");
}
public static void method3()
{
System.out.println("method3");
}
public static void main(String[] args)
{
method1();
method2();
method3();
}
}
Practice-3
package testNG;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class Practice3
{
@BeforeMethod
public void setUpMethod() //pre-conditions
{
System.out.println("browser open, url open, loginActivity");
}
@Test
public void verifyLoginFunctionality()
{
System.out.println("Login functionality is verify-TC
passed");
}
@AfterMethod
public void tearDownMethod() //post-conditions
{
System.out.println("logOutActivity, Browser Close");
}
}
Assignment
Note
package com.sauceDemo.TestClasses;
import java.io.IOException;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import com.sauceDemo.POMClasses.LoginPOMClass;
import com.sauceDemo.UtilityClasses.ScreenshotClass;
public class TestBaseClass
{
WebDriver driver;
@BeforeMethod
public void setUP() throws IOException
{
System.setProperty("webdriver.chrome.driver",
"D:\\Back-up Data\\Desktop-Backup\\Pavan
Velo\\Automation Batch
Material\\Downloads\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
System.out.println("Browser is opened");
driver.manage().window().maximize();
System.out.println("Browser is maximized");
driver.get("https://www.saucedemo.com/");
System.out.println("URL is opened");
//screenshot
ScreenshotClass.takeScreenshot(driver);
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30))
;
//login
LoginPOMClass lp = new LoginPOMClass(driver);
lp.sendUsername();
lp.sendPassword();
lp.clickOnLoginButton();
}
@AfterMethod
public void tearDown()
{
//logOut
driver.quit();
System.out.println("browser is closed");
}
}
package com.sauceDemo.TestClasses;
import java.io.IOException;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.LoginPOMClass;
import com.sauceDemo.UtilityClasses.ScreenshotClass;
public class TC001_VerifyLoginFunctionality extends TestBaseClass
{
@Test
public void loginFuntionality() throws IOException
{
//screenshot
ScreenshotClass.takeScreenshot(driver);
//validation //given
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle(); //actual
if(expectedTitle.equals(actualTitle))
{
System.out.println("we have successfully logined to saucedmo ");
System.out.println("Test case is passed");
}
else
{
System.out.println("Test case is failed");
}
}
}
package com.sauceDemo.TestClasses;
import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.sauceDemo.POMClasses.HomePOMClass;
import com.sauceDemo.POMClasses.LoginPOMClass;
public class TC002_VerifyLogOutFunctionality extends TestBaseClass
{
@Test
public void logOutFunctionality()
{
//homePage
//logOutActivity
HomePOMClass hp = new HomePOMClass(driver);
hp.clickOnSettingButton();
System.out.println("Click on SettingButton");
hp.clickOnLogOutButton();
System.out.println("Click on LogOutButton");
System.out.println("Applying the validation");
//loginpage
String expectedTitle = "Swag Labs";
String actualTitle = driver.getTitle();
if(expectedTitle.equals(actualTitle))
{
System.out.println("Test Case is passed");
}
else
{
System.out.println("Test Case is failed");
}
}
}