what is page object model framework code example

Example 1: page object model

Pom basically Creating java classes
for the each page of our application,
and storing related webelements,
and methods in their respective classes.
    
Advantages of POM =
First of all, it makes our code REUSABLE.
I don't have to repeatedly locate web elements
in every single other class.
Secondly it is EASY TO MAINTAIN. I store one
webelement in one class and it is a lot easier to
fix any issue with that web element because I know
exactly where everything is stored.
Thirdly is seperating webelements and our test cases.
Our test cases will be cleaner therefore 
easy to manage overall.

HOW I CREATE POM =  
#1-I Create constructor, 
and pass PageFactory.initElements(objectOfClass, Driver)
#2- I use @FindBy annotation to locate web elements
            - FindBy annotation comes from Selenium.

Example 2: how did you implement page object model

#1- We initialize the web elements using
          PageFactory.initElements method
          
		- We create connection in between our Driver
          and the object of current class.
           
		- So when we use the object of the class,
          the object is already initialized with all
          the web elements and able to use them.

		PageFactory.initElements(Driver.getDriver(), this);

	- #2 - We use @FindBy annotation to locate web elements.
		@FindBy (xpath = "//something")
		public WebElement exampleBox;