Взаимодействие с пользовательским интерфейсом, который не создается вашим приложением с помощью wix / detox - PullRequest
0 голосов
/ 05 марта 2019

Я запускаю тесты пользовательского интерфейса на Android с Wix Detox для проекта React Native.Библиотека работает очень хорошо, но борется / не может обрабатывать системные диалоги или другие представления, не принадлежащие тестируемому приложению.Вот всплывающее всплывающее окно с указанием точности определения местоположения из Служб Google Play:

enter image description here

Я подумываю переписать начинающий пакет в Котлине, чтобы получить доступ к Android UiAutomatorAPI, которые позволили бы мне найти любое произвольное представление, но хотели проверить здесь, есть ли что-то еще, что я могу сделать с Detox, чтобы отклонить / принять эти диалоги.

Вещи, которые я пытался (и не смог заработать)

  1. Запуск на эмуляторе без служб воспроизведения.Сбой из-за интенсивного использования запуска приложения остановки Firebase из-за отсутствия сервисов воспроизведения.
  2. Найдите вспомогательный ReactView и попросите произвольно нажать на экран, где, как я знаю, находится кнопка «ОК»; cf tapAtPoint({x:, y:})
  3. Отменить разрешение наложения при рисовании на com.google.gms.Никогда не собирался работать задним числом
  4. Попробуйте device.pressBack() в нужное время , чтобы отклонить его без ответа.

Вещи, которые работали

  • Повторная запись теста в Kotlin и доступ к API UiDevice и UiSelector.
  • Предотвращение появления как можно большего количества сгенерированных системой всплывающих окон с помощью правил предоставления разрешений (конфигурация в launchAppв detox)

Я хотел бы остаться в стране детокс ... возможно, мне нужно улучшить мою игру JavaScript и отправить PR в репо?Я должен признать, что это очень сложная библиотека ... она нуждается в некоторой помощи, но охотно, если с ней свяжется wix/detox.

...