Ошибка тестирования пользовательского интерфейса - не получено представление, исчезли уведомления в течение 2.0s ошибки
Я пишу свою автоматизацию пользовательского интерфейса тестового набора с xcode 8. Однако я продолжаю сталкиваться с этой проблемой, пытаясь отклонить предупреждения.
Я в настоящее время использую addUIInterruptionMonitor
для того, чтобы отклонить мои предупреждения, однако, когда я вызываю монитор прерывания, чтобы запустить с помощью app.tap()
Я получаю сообщение об ошибке Тестирование пользовательского интерфейса не выполнено - не получено представление, исчезли уведомления в течение 2.0s ошибки
Почему это происходит и как я могу предотвратить это?
Прилагается мой стартовый код для приложения
override func setUp() {
super.setUp()
XCUIApplication().terminate()
continueAfterFailure = false
app.launch()
addUIInterruptionMonitorWithDescription("Enable Notifications") { (alert) -> Bool in
let button = alert.buttons["OK"]
if button.exists{
button.tap()
return true
}
return false
}
app.buttons["Enable notifications"].tap()
app.tap()
XCTAssert(app.tabBars.buttons["Settings"].exists)
app.tabBars.buttons["Settings"].tap()
}
1 ответ
Сначала добавьте монитор перед app.launch(
) и тебе не понадобится app.tap()
Во-вторых, это app.buttons["Enable notifications"].tap()
триггер для появления предупреждения, если нет, удалите эту строку.
В-третьих, если вы вернете false в обработчике монитора, система нажмет кнопку "отмена" для этого предупреждения. В этом случае я предпочитаю не проходить тест, поскольку это неожиданное системное предупреждение.