Я использую java с appium. Я выполнил свой код двумя способами. Один - когда я использую приведенный ниже код, он работает нормально.
public class On_BoardingPages
MobileElement smsField = driver.findElement(By.id("pinEntryViewVerifyCode"));
smsField.sendKeys("XXXX");
public On_BoardingPages(AppiumDriver<MobileElement> driver) {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
public void enterSMSVerificationCode(String codeVerification) {
sms_VerificationCode.sendKeys(codeVerification);
}
Во-вторых, когда я использую POM и он не работает
класс страницы:
@FindBy(id = "pinEntryViewVerifyCode")
private MobileElement sms_VerificationCode;
TestClass
on_BoardingPages.enterSMSVerificationCode("XXXX");
Ошибка:
org.openqa.selenium.NoSuchElementException: невозможно найти элемент с помощью этой стратегии: By.chained ({By.id: pinEntryViewVerifyCode}) в io.appium.java_client.pagefactory.AppiumElementLocator.findElement (AppiumElementLocator). io.appium.java_client.pagefactory.interceptors.InterceptorOfASingleElement.intercept (InterceptorOfASingleElement.java:60) --Причина: org.openqa.selenium.TimeoutException: ожидаемое условие не выполнено: ожидание io.appium.pageLactoryLactoryFactory_cloud @ 56a4479a (проверено в течение 1 секунды с интервалом 500 миллисекунд) в org.openqa.selenium.support.ui.FluentWait.timeoutException (FluentWait.java:303) в org.openqa.selenium.support.ui.FluentWait.until (FluentWait.java:271) в io.appium.java_client.pagefactory.AppiumElementLocator.waitFor (AppiumElementLocator.java:99) в io.appium.java_client.pagefactory.AppiumElementLocator.findElement (Appator.javaLocator:11)