Saturday, June 13, 2020

Page Object Model In Selenium

Step1:- Create Base Class.

package com.pageobjtest;

import java.util.List;
import java.util.concurrent.TimeUnit;

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.interactions.Actions;

public class Base {
public static WebDriver driver;
public static String url="https://www.facebook.com/";
//public static String url="http://demo.guru99.com/test/social-icon.html";
public static String path="C:\\Users\\user\\Desktop\\Driver\\chromedriver.exe";
public static String date="25";
public static void config(){
System.setProperty("webdriver.chrome.driver",path);
driver=new ChromeDriver();
driver.get(url);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
}
public static void closeBrowser(){
driver.close();
}
public static void quitBrowser(){
driver.quit();
}
public static void testCasePassed(){
System.out.println("*******Test case Passed *******");
}
public static void testCaseFailed(){
System.out.println("*******Test case Failed *******");
}
public static int findNoFrame(){
int noOfFrame=driver.findElements(By.tagName("iframe")).size();
System.out.println(noOfFrame);
return noOfFrame;
}
public static void switchParentFrame(){
driver.switchTo().defaultContent();
}
public static void switchOnFramIdName(String str){
driver.switchTo().frame(str);
}
public static void scriptExecutedSuccessfully(){
System.out.println("Script is Executed successfully");
}
public static void compareText(String actual,String expcted){
if(actual.equals(expcted)){
Base.testCasePassed();
}
else{
Base.testCaseFailed();
}
}

public static void moveToElement(WebDriver driver,WebElement ele){
Actions act=new Actions(driver);
act.moveToElement(ele).perform();
}
public static void dyamic_Table(){
driver.findElement(By.xpath("//label[contains(text(),'Return Date')]")).click();
List<WebElement> list=driver.findElements(By.xpath("//div[@id='rb-calendar_return_cal']//td"));
for(int i=0;i<list.size();i++){
String listOfdate=list.get(i).getText();
System.out.println("*********** listOfdate **************" +listOfdate);
if(listOfdate.equals(date)){
list.get(i).click();
break;
}
  }
}
}
========================================================================
Step2:- Create Login Page .

package com.pageobjtest;

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

public class LoginPage {
WebDriver driver;
By userName=By.id("email");
By password=By.id("pass");
By loginbt=By.xpath("//input[@value='Log In']");
LoginPage(WebDriver driver){
this.driver=driver;
}
public void getuserName(){
driver.findElement(userName).sendKeys("mohitkmr680");
}
public void getpassword(){
driver.findElement(password).sendKeys("password");
}
public void clickOnLogin(){
driver.findElement(loginbt).click();
}

}
=========================================================================

Step3:- Create Test Runner Class.
package com.pageobjtest;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;

public class LoinTestRunner extends Base{
//WebDriver driver;
@Test
public void tc_01(){
/*
System.setProperty("webdriver.chrome.driver","C:\\Users\\user\\Desktop\\Driver\\chromedriver.exe");
    driver=new ChromeDriver();
    driver.get("https://www.facebook.com/");
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
    */
Base.config();
    LoginPage page=new LoginPage(driver);
    page.getuserName();
    page.getpassword();
    page.clickOnLogin();
    
}

}
=========================================================================

Q)How to create Page Object Model Using PageFatory class .

Step1:- Create Base Class.

Step2:- Create Login Page .
package com.pompagefactory;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;

public class LoginPageFB {
WebDriver driver;
public LoginPageFB(WebDriver driver){
this.driver=driver;
}
@FindBy(id="email")
WebElement userName;
@FindBy(id="pass")
WebElement password;
@FindBy(xpath="//input[@value='Log In']")
WebElement loginbtn;
public void loginFaceboo(String UserName,String Password){
userName.sendKeys(UserName);
password.sendKeys(Password);
loginbtn.click();
}
/*
public void getuserName(String username){
userName.sendKeys(username);
}
public void getpassword(String Password){
password.sendKeys(Password);
}
public void clickOnLoginBtn(){
loginbtn.click();
}
*/

}
=========================================================================
Step3:- Create Test Runner Class .
package com.pompagefactory;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.PageFactory;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import com.pageobjtest.Base;

public class TestRunner extends Base{
@BeforeTest
public void setUp(){
Base.config();
}
@Test
public void tc_01_Fb(){
LoginPageFB page=PageFactory.initElements(driver,LoginPageFB.class);
/*
page.getuserName("mohit@gmail.com");
page.getpassword("password");
page.clickOnLoginBtn();
*/
page.loginFaceboo("mohit1@gmail.com","12345");
  }
@AfterTest
public void tearDown(){
driver.close();
}

}













No comments:

Post a Comment

Q) How To Find Duplicate Characters In A String In Java?

Step1:- Creating a HashMap containing char as key and it's occurrences as value. Step2:- Converting given string to char array. Step3:- ...