Ошибка тестирования пользовательского интерфейса - не получено представление, исчезли уведомления в течение 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 в обработчике монитора, система нажмет кнопку "отмена" для этого предупреждения. В этом случае я предпочитаю не проходить тест, поскольку это неожиданное системное предупреждение.

Другие вопросы по тегам