Я запускаю тесты пользовательского интерфейса на Android с Wix Detox для проекта React Native.Библиотека работает очень хорошо, но борется / не может обрабатывать системные диалоги или другие представления, не принадлежащие тестируемому приложению.Вот всплывающее всплывающее окно с указанием точности определения местоположения из Служб Google Play:
Я подумываю переписать начинающий пакет в Котлине, чтобы получить доступ к Android UiAutomator
API, которые позволили бы мне найти любое произвольное представление, но хотели проверить здесь, есть ли что-то еще, что я могу сделать с Detox, чтобы отклонить / принять эти диалоги.
Вещи, которые я пытался (и не смог заработать)
- Запуск на эмуляторе без служб воспроизведения.Сбой из-за интенсивного использования запуска приложения остановки Firebase из-за отсутствия сервисов воспроизведения.
- Найдите вспомогательный ReactView и попросите произвольно нажать на экран, где, как я знаю, находится кнопка «ОК»; cf
tapAtPoint({x:, y:})
- Отменить разрешение наложения при рисовании на
com.google.gms
.Никогда не собирался работать задним числом - Попробуйте
device.pressBack()
в нужное время , чтобы отклонить его без ответа.
Вещи, которые работали
- Повторная запись теста в Kotlin и доступ к API
UiDevice
и UiSelector
. - Предотвращение появления как можно большего количества сгенерированных системой всплывающих окон с помощью правил предоставления разрешений (конфигурация в
launchApp
в detox
)
Я хотел бы остаться в стране детокс ... возможно, мне нужно улучшить мою игру JavaScript и отправить PR в репо?Я должен признать, что это очень сложная библиотека ... она нуждается в некоторой помощи, но охотно, если с ней свяжется wix/detox
.