Android
1) ID
2) Name
3) Class Name
4) XPATH
5) Accessibility ID
6) Uiautomator selector
Ex.
@AndroidFindBy(accessibility = "loginPasswordInput")
public static MobileElement password;
@AndroidFindBy(id = "loginPasswordInput")
public static MobileElement password;
@AndroidFindBy(name = "loginPasswordInput")
public static MobileElement password;
@AndroidFindBy(xpath = "//android.widget.Button[@content-desc="_mainScreenTab"]/android.view.ViewGroup[2]/android.widget.TextView")
public static MobileElement password;
IOS
1) ID
2) Name
3) Class Name
4) XPATH
5) Accessibility ID
6) Predicate string
7) Class chain
Ex.
@iOSXCUITFindBy(accessibility = "loginPasswordInput")
public static MobileElement password;
@iOSXCUITFindBy(xpath = "//XCUIElementTypeSecureTextField[@name=\"loginPasswordInput\"]")
public static MobileElement password;
@iOSXCUITFindBy(accessibility = "passwordInput")
public static MobileElement password;
@iOSXCUITFindBy(iOSNsPredicate = "name == \"loginPasswordInput\"")
public static MobileElement password;
@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeSecureTextField[`name == \"loginPasswordInput\"`]")
public static MobileElement password;