не удалось идентифицировать всплывающее окно в средстве просмотра Android UIautomator

введите описание изображения здесьЯ хочу просмотреть всплывающее окно, как показано на скриншоте

Прикрепленное изображение относится к приложению для Android. Я пытаюсь проверить с помощью средства просмотра UIAutomator для Android. В нем я не могу осмотреть всплывающее окно, которое находится на переднем плане. Я хочу нажать «Отклонить» в этом окне

Пожалуйста, предложите, можно ли это обнаружить или нет, или использовать какой-либо другой инструмент

спасибо за ваше времявведите здесь описание изображения


person nikhil udgirkar    schedule 17.10.2016    source источник
comment
Не могли бы вы прикрепить скриншот из UIAutomator с видимыми элементами?   -  person Vinod    schedule 17.10.2016
comment
@Vinod это скриншот, на котором есть все видимые элементы. Кнопка «Отклонить» не проверяется, но элементы фона проверяются   -  person nikhil udgirkar    schedule 17.10.2016
comment
Я говорю о снимке экрана UIAutomator вместе с видимыми элементами и иерархией дочерних элементов.   -  person Vinod    schedule 17.10.2016
comment
Это всплывающее окно «Отклонить» не похоже на системное всплывающее окно, потому что UIAutomator не может его идентифицировать. Вы пробовали driver.switchTO() ??   -  person Vinod    schedule 17.10.2016
comment
да. Я еще не реализован   -  person nikhil udgirkar    schedule 17.10.2016


Ответы (3)


Сделайте свое всплывающее окно как Focusable "true". См. последнее свойство в конструкторе PoupWindow.

Пример:

PopupWindow popupWindowTwo = new PopupWindow(timelineGuidanceDialog, 400, 400, **true**);

popupWindow.showAsDropDown(eventButtonView, 0, 0);
person Siddharth Yadav    schedule 23.04.2018
comment
Удивительно, но это действительно работает. Это также работает, если вы делаете это через сеттер popWindow.setFocusable(true). - person Georgios; 14.06.2018

На данный момент это известная проблема с UiAutomator, о которой сообщалось < /a>d, но не имеет никаких обходных путей.

person RyPope    schedule 02.12.2016

Мне удалось найти несколько возможных решений:

О. Похоже, что оповещения Android появляются в другом контексте. Это означает, что основное решение, которое работает для меня, - это изменить идентификатор пакета на «android». Например:

mAppiumDriver.findElementById("android:id/button").click();

B. Другой обходной путь — использование фокуса, полученного всплывающим окном с предупреждением. Windows становится сфокусированной, а это означает, что вы по-прежнему можете отправлять ввод с клавиатуры на какой-либо конкретный элемент. Вы можете использовать клавиши TAB / DPAD для навигации и ENTER, чтобы «щелкнуть» по определенному представлению.

person Peter    schedule 28.06.2017