Как закрыть системные диалоги, которые появляются при сбое приложения? - PullRequest
1 голос
/ 04 июня 2019

Я использую фреймворк xcuitest для автоматизации приложений Mac. Я получаю системные диалоги, когда приложение снова открывается после его сбоя. Я хочу обработать диалог программно. Но диалоговое окно появляется под процессом UserNotificationCenter вместо тестируемого приложения. Как я могу обработать предупреждение в таком случае?

1 Ответ

1 голос
/ 04 июня 2019

У вас есть два варианта:

  1. Использование InterruptionMonitor ( документация , сценарий использования ).Однако этот подход довольно старый, и я обнаружил, что он работает не для всех диалогов и ситуаций.
  2. Создайте метод, который будет ждать нажатия кнопки обычного приложения.Если кнопка приложения (или панель вкладок или другой подобный элемент XCUIElement) видима и доступна для отображения после запуска приложения, вы можете продолжить тест, а если нет, вы можете подождать кнопку диалогового окна UserNotificationCenter и определить ее и нажать по ее строке /позиция.

Я использую второй подход, и он работает намного лучше, чем InterruptionMonitor.Но это действительно зависит от макета вашего приложения и варианта использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...