POM without Page Factory

Implement POM without Page Factory-

Our scenario is we need to login an application (Orange HRM) to navigate on home page. So here we are dealing with two page –
1. Login Page
2. Home Page (Once you logged in)
So we will create two classes for every page

Step 1:

Create a class for Orange HRM Login Page

package pageObjectModel;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

public class LoginPage {

	WebDriver driver;

	// Creating Elements using element locators

	By userName = By.xpath("//input[@id='txtUsername']");
	By passWord = By.id("txtPassword");
	By loginButton = By.name("btnLogin");

	// Creating an constructor
	public LoginPage(WebDriver driver) {
		this.driver = driver;
	}

	// Create user actions

	// Set or type user name in textbox
	public void typeUserName(String UN) {
		driver.findElement(userName).sendKeys(UN);
	}	

	// Return a value from user name
	public void getUserNameValue() {
		driver.findElement(userName).getAttribute("value");
	}

	// Set or type password in textbox
	public void typePassWord(String PW) {
		driver.findElement(passWord).sendKeys(PW);

	}

	// Click on login button
	public void clickLogin() {
		driver.findElement(loginButton).click();

	}
}

Step 2:

Create a class for Orange HRM Home Page

package pageObjectModel;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

public class HomePage {

	WebDriver driver;

	By homePageUserName = By.xpath("//a[@id='welcome']");

	// Creating an constructor
	public HomePage(WebDriver driver) {
		this.driver = driver;
	}

	// Get the User name from Home Page
	public String getHomePageDashboardUserName() {
		return driver.findElement(homePageUserName).getText();
	}
}

Step 3:

Creating Simple Orange HRM POM Test case

package pageObjectModel;

import org.testng.annotations.Test;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.BeforeTest;

public class OrangeHRMLoginTest {

	WebDriver driver;
	orangeHRMLoginPage login;
	orangeHRMHomePage homePage;

	@Test
	public void loginTestCase() {
		
		System.setProperty("webdriver.chrome.driver", "F:\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
		driver.manage().window().maximize();
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);	
		driver.get("https://opensource-demo.orangehrmlive.com/index.php/auth/login");
		
		login = new orangeHRMLoginPage(driver);

		// 1.Enter the user name
		login.typeUserName("admin");

		// 2.Enter the pass word
		login.typePassWord("admin123");

		// 3.Click on login button
		login.clickLogin();

		// 4.go to the home page
		homePage = new orangeHRMHomePage(driver);

		// 5.Verify home page
		Assert.assertEquals(homePage.getHomePageDashboardUserName(), "Welcome Admin");
	}
}

Next

Leave a comment

Design a site like this with WordPress.com
Get started