Я использую WdAndroid для запуска тестов автоматизации на appium для Android. Часть, в которой я застреваю, заключается в том, что когда приложение устанавливается в первый раз, появляется диалоговое окно разрешения (разрешение на местоположение). Я использую приведенный ниже код, чтобы принять разрешение.
driver.elementById('com.android.packageinstaller:id/permission_allow_button').click()
Когда диалоговое окно исчезнет, я хочу нажать кнопку действия, чтобы выполнить желаемое действие, используя для этого приведенный ниже фрагмент кода.
const intervalObj = setInterval(() => {
driver.elementById('com.testpackage.testapp:id/testClickButton').click();
clearInterval(intervalObj);
}, 3000);
Но вышеуказанное действие не работает, и я получаю следующую ошибку в журнале appium
[отладка] [AndroidBootstrap] [ЖУРНАЛ BOOTSTRAP] [отладка] Поиск 'com.testpackage.testapp:id/testClickButton' с использованием 'ID' с contextId: ''multiple: false [отладка] [AndroidBootstrap] [ЖУРНАЛ BOOTSTRAP] [отладка ] Используя: UiSelector[INSTANCE=0, RESOURCE_ID=com.testpackage.testapp:id/testClickButton] [debug] [AndroidBootstrap] Получен результат команды от начальной загрузки [HTTP] ‹-- POST /wd/hub/session/88f58979-f7ff- 4d52-b840-e930d4a04804/элемент 500 116 мс - 164 [отладка] [AndroidBootstrap] [ЖУРНАЛ BOOTSTRAP] [отладка] Возвращаемый результат: {"статус":7,"значение":"Элемент не найден"}
Поток автоматизации должен принять разрешение и подождать 3 секунды, чтобы выполнить нажатие на кнопку. Но этого не происходит.
Однако, если я удалю диалоговое окно с предупреждением о разрешении, а затем использую приведенный выше фрагмент, чтобы нажать кнопку, он работает нормально. Проблема возникает только тогда, когда диалог закрыт, а автоматизация не находит кнопку.
Я пишу исходный код автоматизации в Node.JS.