Android Firebase: сбой скрипта Robo в диалоговом окне разрешений местоположения

Мои записанные сценарии Firebase Robo терпят неудачу из-за системных диалогов, таких как диалоговое окно «Для улучшения работы включите определение местоположения устройства».

включить диалоговое окно определения местоположения устройства

При записи скрипта показывает:

Запрошенные разрешения

android.permissions.ACCESS_FINE_LOCATION android.permissions.ACCESS_COARSE_LOCATION

но он не записывает, как я нажимаю «ОК» в диалоговом окне соответствующих разрешений или в диалоговом окне «Включить местоположение устройства».

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

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

Аналогичный вопрос 2017 года без ответа: RoboScript не может нажать кнопку «Включить местоположение ОК» в Firebase Testlab

Как сделать так, чтобы скрипты не прерывались при запуске подобных диалогов?


person Nissi    schedule 02.08.2019    source источник
comment
Я бы посоветовал вам задать этот вопрос в Slack сообщества Firebase на канале #test-lab. Разработчики там смогут просмотреть конкретные тесты, которые не пройдены. Вы также можете отправить запрос в службу поддержки через firebase.google.com/support.   -  person Tony Kai Jie Ren    schedule 02.08.2019
comment
Спасибо. Я не знал об этой группе, я попробую   -  person Nissi    schedule 05.08.2019


Ответы (1)


Нажатие «ОК» в диалоговых окнах запроса разрешения не должно быть записано как часть Roboscript. Вместо этого Roboscript записывает, что эти разрешения были запрошены, что он и сделал, как и ожидалось, во время сеанса записи. Во время воспроизведения Robo должен предоставить все эти разрешения в начале обхода, чтобы эти диалоги не появлялись во время обхода. Судя по всему, эти разрешения не были предоставлены должным образом, и эти диалоги появлялись, прерывая выполнение записанного Roboscript. Для дальнейшей диагностики следуйте советам Тони. Спасибо!

person Stanislav Negara    schedule 02.08.2019
comment
Кстати, на каком уровне API вы записали свой Roboscript и на каком уровне API в Firebase Test Lab вы воспроизвели записанный Roboscript, на котором были показаны диалоговые окна запроса разрешения? - person Stanislav Negara; 02.08.2019
comment
28 для записи; 26, 27 и 28 для бега. Также пробовал как физические, так и виртуальные устройства для запуска. - person Nissi; 05.08.2019
comment
Спасибо за обновление. Учитывая эти уровни API, все разрешения должны быть предоставлены до начала сканирования, поэтому то, что вы заметили, является ошибкой. Пожалуйста, отправьте соответствующий отчет об ошибке. Спасибо! - person Stanislav Negara; 05.08.2019
comment
@StanislavNegara, у вас есть ссылка на какие-либо документы, которые объясняют/подтверждают, что Robo должен предоставлять все эти разрешения в начале сканирования, пожалуйста? - person Blundell; 30.09.2020
comment
Я не уверен, упоминаем ли мы это явно в каких-либо общедоступных документах на данный момент, но это поведение Robo по умолчанию. Если вы найдете какие-либо примеры, когда это не так, сообщите об ошибке. Благодарю вас! - person Stanislav Negara; 02.10.2020