@Retention(value=RUNTIME)
@Target(value={FIELD,TYPE})
public @interface FindBy
Used to mark a field on a Page Object to indicate an alternative mechanism for locating the
element or a list of elements. Used in conjunction with
PageFactory
this allows users to quickly and easily create PageObjects.
It can be used on a types as well, but will not be processed by default.
You can either use this annotation by specifying both "how" and "using" or by specifying one of
the location strategies (eg: "id") with an appropriate value to use. Both options will delegate
down to the matching By
methods in By class.
For example, these two annotations point to the same element:
@FindBy(id = "foobar") WebElement foobar; @FindBy(how = How.ID, using = "foobar") WebElement foobar;
and these two annotations point to the same list of elements:
@FindBy(tagName = "a") List<WebElement> links; @FindBy(how = How.TAG_NAME, using = "a") List<WebElement> links;
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
className |
java.lang.String |
css |
How |
how |
java.lang.String |
id |
java.lang.String |
linkText |
java.lang.String |
name |
java.lang.String |
partialLinkText |
java.lang.String |
tagName |
java.lang.String |
using |
java.lang.String |
xpath |
public abstract How how