Как получить доступ к диалоговому окну "Вход" в Apple Id из UI Test?

У меня есть несколько тестов пользовательского интерфейса и хочу проверить, что происходит, когда я нажимаю кнопку "подписаться". В симуляторе отображается предупреждение с просьбой войти с помощью Apple ID:

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

Я пытался ждать оповещения, используя app.alerts["Sign In"] предикат и использование addUIInterruptionMonitor функция. Неудачно. Я даже пытался дождаться появления кнопки "Отмена", это тоже не сработало.

Есть идеи, как обработать это предупреждение и нажать "Отмена"?

1 ответ

Проблема с этим предупреждением заключается в том, что оно создается не из вашего приложения, а из системного приложения - Springboard. Итак, чтобы иметь возможность запрашивать элементы из этого приложения, вы должны создать XCUIApplication объект с идентификатором пакета Springboard:

let springboardApp = XCUIApplication(bundleIdentifier: "com.apple.springboard")

Затем найдите свое оповещение с помощью:

let signInAlert = springboardApp.alerts.element

После этого вы сможете найти кнопку " Отмена":

signInAlert.buttons["Cancel"].tap()
Другие вопросы по тегам