Ошибка "UI Testing Failure: не получено представление действительно пропало уведомление в течение 2.0s"

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

[app.alerts[@"\u201cSampleApp\u201d Would Like to Send You Notifications"].collectionViews.buttons[@"Don\u2019t Allow"] tap];
[app.alerts[@"Allow \u201cSampleApp\u201d to access your location while you use the app?"].collectionViews.buttons[@"Allow"] tap];
//segue to VC2

Но при воспроизведении происходит сбой с ошибкой в ​​названии.

Не получил представление исчезло уведомление в течение 2.0s

Я подозреваю, что к тому моменту, когда оповещения будут удалены, кнопка перехода уже будет нажата, и хотя она ожидает, что домашний ВК исчезнет, ​​этого не произойдет. Это понимание правильно? Если да, как я могу отложить ожидание, если нет, пожалуйста, помогите.

1 ответ

Предупреждения на уровне системы должны обрабатываться addUIInterruptionMonitorWithDescription API здесь - документация от Apple Link и пример кода в swift ниже:

addUIInterruptionMonitorWithDescription("First Dialog") { (alert) -> Bool in
alert.buttons["Allow"].tap()
return true
}

XCUIApplication().tap()
Другие вопросы по тегам