NoSuchElementFoundException, когда я пытаюсь нажать на элементы в веб-представлении Android - PullRequest
0 голосов
/ 13 мая 2019

версия appium: 1.12.1 Windows 10 рабочая платформа = версия Android 5.1.1 Не работает в Android версии 4.4, 6.0 и выше

Я пытаюсь щелкнуть элемент в веб-представлении Android, где он показывает NoSuchElementFoundException

appDebuggingMode включен, а также я использовал метод для переключения контекста, но он показывает доступный контекст как [NATIVE_APP] на всех платформах Android

Элемент

активен в Android версии 5.1.1 (без переключения контекста, работающего в собственном контексте) и не работает в версиях Android 4.4, 6.0 и выше

Я пытаюсь переключить контекст с помощью:

Set availableContexts = driver.getContextHandles();

    System.out.println("context available " +availableContexts);

    for (String context : availableContexts) 
              {
        if (context.contains("WEBVIEW")) {

            driver.context(context);        
                break;

                }
     }

Я пытаюсь кликнуть на элементе:

WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.visibilityOf(element)); 
element.click();

Пожалуйста, предоставьте мне решение этой проблемы.

1 Ответ

0 голосов
/ 13 мая 2019

Скорее всего, ваше приложение создано для Android KitKat (или выше), у которого отладка элементов, которые в WebView отключены.

Вам нужно попросить разработчиков приложений включить отладку элементов, которые находятся внутри WebViews , иначе Appium не сможет их распознать.

Если по какой-то причине это невозможно, вы все равно можете продолжить и выполнить инструментарий приложения , который откроет функции, необходимые для успешного тестирования, включая, помимо прочего, доступ к содержимому WebViews.

И, наконец, что не менее важно, вы можете обойти это, перейдя к реализации тестов на основе машинного зрения и найти конкретное изображение, используя Sikuli или другой OpenCV на основе инструмент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...