Using Page Factory with Page Object
The code that we learned to write earlier can be quite verbose. To clean up our code, we can start to use Page Factories. This allows us to annotate variables in our page objects about how to search the page. It means that we don't need to have the complete WebElement
element
=
driver.findElement(...);
code all over the file. We can change it to:
@FindBy(how=How.ID, using="foo") WebElement foo;
As you can see, this can make our code slightly easier to read and more maintainable. If you regularly use other languages (such as Ruby or Python), you will notice that they don't have the PageFactory
support project. This is because these languages don't have Factory
constructs in the language. They are not idiomatic and therefore not in the language.
To use the PageFactory
project in WebDriver, we will have to ensure its addition as a dependency.
Let's now update our previous code with an example of the PageFactory
project.
Using PageFactory
In this example, we will...