Appium - поиск элементов несовместим

Я сталкиваюсь с очень раздражающей ситуацией при написании тестов в приложении Appium для Android на данный момент:
Иногда некоторые элементы (те же 2 элемента) не обнаруживаются постоянно при каждом запуске теста.

Это мой тестовый код:

    WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("com.*****.android.g******:id/passwordText"),"Code"));
    MobileElement we = (MobileElement) driver.findElementById("com.******.android.*******:id/passwordText");
    we.click();
    we.sendKeys(password);
    CodePage codePage = new CodePage(driver);
    codePage.loginBtn.click();

    wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("com.*****.android.*******:id/action_done"), "FINISH"));
    BaseTutorialPage btp = new BaseTutorialPage(driver);
    btp.finishBtn.click();

Здесь вы можете увидеть 2 проблемных поля: мы (это поле с номером контакта) и FinishBTN, это еще одна кнопка, на которую нужно нажать.
Я пытался использовать несколько ожидаемых условий для раздела ожидания, но все они ведут себя одинаково, иногда это работает, а иногда нет.

И вот я поставил шапки:

    File app = new File(f, "app-debug.apk");
    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability(MobileCapabilityType.DEVICE_NAME,"test");
    cap.setCapability("newCommandTimeout", 60 * 10);
    cap.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
    cap.setCapability("appWaitActivity", "com.*******.android.*****.registartion.LoginActivity");
    AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
    return driver;

Версии, которые я использую:
Appium 1.7.2
java-client 5.0.4 (попробовал также последнюю БЕТА)


person YogevAbr    schedule 11.02.2018    source источник
comment
Ваш вопрос не ясен, какую именно ошибку вы получаете?   -  person Hassan Radi    schedule 12.02.2018
comment
Я просто получаю тайм-аут элемента, не найденного. Я вижу это в устройстве, я могу нажать на него с помощью Appium Inspector, но с помощью кода он этого не делает.   -  person YogevAbr    schedule 12.02.2018


Ответы (1)


Для тех, кто ищет ответ, я только что обновил AutomationName до uiautomator2, и это решило проблему.

person YogevAbr    schedule 14.02.2018