Appium error : Matched W3C error code 'no such element' to NoSuchElementError

aaaa you have locator in different place! which is wrong! it will not work like this.

see example how it should be (some mine lines you can ignore like Allure steps and logs):

public class EmailPage extends BasePage {

    // header
    // body
    @iOSXCUITFindBy(className = "XCUIElementTypeTextField")
    @AndroidFindBy(id = "auto_complete")
    private WebElement emailInput;

    // footer
    @iOSXCUITFindBys(value = {
            @iOSXCUITBy(id = "I28LogInView"),
            @iOSXCUITBy(id = "loginButton")
    })
    @AndroidFindBy(uiAutomator = "new UiSelector().description(\"btn_login\")")
    private WebElement loginButton;

    public EmailPage(AppiumDriver driver) {
        PageFactory.initElements(new AppiumFieldDecorator(driver, Duration.ofSeconds(5)), this);
    }

    @Step("Tap 'Login' button")
    public ConfirmEmailPage tapLoginButton() {
        Logger.log();
        Assert.assertTrue(tap(loginButton), createAssertionLog("FAILED"));
        return new ConfirmEmailPage(page);
    }
}

Yeah I separated locators in different classes for both ios and android :frowning_face:

I think I can place locators & functions in same class

Thanks a lot @Aleksei for helping me out with this issue. Thanks for your time and efforts :pray: