Как получить доступ к диалоговому окну "Вход" в 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()