pom model code example
Example 1: page factory in selenium
PageFactory is a class in selenium.
It is used to achieve page factory design pattern,
it helps to initialize the page objects in the
class using initElements methods. When
I create an object from the page class,
pagefactory initializes the webelements
just before interacting this web element.
It means that once you call the element,
PageFactory class will immediately locate the element
and you will not get a staleElementReferenceException.
When a page object is created,
pagefactory driver (because of the constructor)
will be linked to weblements @findby in that page.
public LoginPage(){
PageFactory.initElements(Driver.get(), this);
}
Example 2: how to implement pom
#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;