how to implement pom
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.
4.83
6
#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;
Thank you!
6
0
3
2
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);
}
Thank you!
2
0
Are there any code examples left?
New code examples in category Other
-
Other 2023-03-27 22:50:10 how to select the whole line in vscode with keyboard shortcut
-
Other 2022-03-27 22:45:24 income of a web developer
-
Other 2022-03-27 22:35:01 \pyrcc_main.py: File does not exist 'resources.qrc'
-
Other 2022-03-27 22:30:45 rick roll embed code
-
Other 2022-03-27 22:20:08 Circuit_04_Potentiometer
-
Other 2022-03-27 22:20:05 iterative power
-
Other 2022-03-27 22:15:11 flutter run all
-
Other 2022-03-27 22:10:05 when is karlson release
-
Other 2022-03-27 22:10:02 wp .htaccess example
-
Other 2022-03-27 22:00:08 bash pause in file read line by line