Currently in my firefox driver, if I want to locate an element, I write the code as so:
WebDriver firefoxDriver = new FirefoxDriver();
...
firefoxDriver.findElement(By.id("testid")).isDisplayed();
or
firefoxDriver.findElement(By.name("testname")).isDisplayed();
or
firefoxDriver.findElement(By.class("testclass")).isDisplayed();
etc
However, I have these elements within a separate page like so:
@FindBy(id = "testid")
public WebElement testIdElement;
@FindBy(name = "testname")
public WebElement testNameElement;
@FindBy(class = "testclass")
public WebElement testClassElement;
I want to search my elements like the below but the below doesn't work because it expects a By:
firefoxDriver.findElement(elementsPage.testIdElement);
or
firefoxDriver.findElement(elementsPage.testNameElement);
or
firefoxDriver.findElement(elementsPage.testClassElement);
What will be the best way to tackle this scenario? I don't really want to keep hard coding the elements, instead better using the elements I have already defined in my elements list.