we use method which is similar to @Ankit_Jain
// Android element
@AndroidFindBy(id = "some_id")
private List<AndroidElement> some_element;
// iOS element
@iOSFindBy(accessibility = "some_accessibility")
private List<IOSElement> some_element;
public boolean isSomeElement_Loaded() {
boolean bool;
// let's first reduce search time to 5sec
PageFactory.initElements(new AppiumFieldDecorator(driver, 5, TimeUnit.SECONDS), this);
bool = !some_element.isEmpty();
// let's return search time to default 30sec
PageFactory.initElements(new AppiumFieldDecorator(driver, 30, TimeUnit.SECONDS), this);
return bool;
}
in some cases it is possible to use time limitation set directly with element variable
e.g. with android element:
@WithTimeout(time = 5, unit = TimeUnit.SECONDS)
@AndroidFindBy(id = "some_id")
private List<AndroidElement> some_element;