pom.xml code example
Example 1: what is pom.xml
- pom.xml file allows us to add, remove, manage dependencies
and versions from one single location.
- POM stands for project object model
- .xml -> stands for: extensible markup language
Example 2: what is 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.
Example 3: example of simple maven pom java
<properties> <maven.compiler.release>11</maven.compiler.release> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> </plugin> </plugins> </pluginManagement> </build>
Example 4: pom xml file
- pom.xml file allows us to add, remove, manage dependencies
and versions from one single location.
- POM stands for project object model
- .xml -> stands for: extensible markup language
Example 5: pom.xml details
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version></project>
Example 6: how to use 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;