Did you know that if the element variable name is the same with the element id or element name, it's not mandatory to use FindBy annotation as these are known as Direct Locators? Like this: public class FindByExample { private WebDriver driver; @FindBy(id = "username") //here the text box has the locator id=username. private WebElement uname; @FindBy(name = "password") //here the text box has the locator name=password. private WebElement pwd; public FindByExample(WebDriver driver) { this.driver = driver; PageFactory.initElements(driver, this); } The above code can be written with NO FindBy annotations if the web element variables have the same name or ID: public class FindByExample { private WebDriver driver; private WebElement username; private WebElement password; public FindByExample(WebDriver driver) { this.driver = driver; PageFactory.initElements(driver, this); } hashta...
A blog about my testing stories where I pen down my thoughts about test automation covering primarily Selenium, Java, Rest Assured, Karate, Maven, TestNG, Postman, newman, Jenkins, Git, Azure DevOps, etc.