What is Page Factory?
Hello Tom-dale,
Page factory is an implementation of the Page Object Model in Selenium. It provides @FindBy annotation
to find web elements. In addition, there is a PageFactory.initElements()
method to initialize all web elements defined with @FindBy annotation
.
public class SamplePage {
WebDriver driver;
@FindBy(id="search")
WebElement searchTextBox;
@FindBy(name="searchBtn")
WebElement searchButton;
//Constructor
public samplePage(WebDriver driver){
this.driver = driver;
//initElements method to initialize all elements
PageFactory.initElements(driver, this);
}
//Sample method
public void search(String searchTerm){
searchTextBox.sendKeys(searchTerm);
searchButton.click();
}
}