Я пытаюсь создать тест пользовательского интерфейса для своего контроллера. Я заполняю текстовые поля и нажимаю кнопку, и теперь я хочу дождаться появления диалогового окна, и когда он появится, я хочу нажать кнопку ОК и проверить, какой контроллер отображается.
Это конец моего метода тестирования:
let alert = app.alerts["Error"]
let exists = NSPredicate(format: "exists == 1")
self.expectationForPredicate(exists, evaluatedWithObject: alert, handler: nil)
self.waitForExpectationsWithTimeout(5.0) { (error) in
XCTAssertNil(error, "Something went horribly wrong")
alert.buttons["Ok"].tap()
XCTAssertEqual(app.navigationBars.element.identifier, "RegistrationViewController")
}
Проблема в том, что тест оценивается как сбой, но когда я смотрю на телефон, появляется диалоговое окно и нажимается кнопка Ok, и контроллер также в порядке.
Я получаю этот сбой в окне отладки:
Ошибка тестирования пользовательского интерфейса - для предупреждения не найдено совпадений
Я предполагаю, что с этим Tap возникла какая-то проблема. Как я могу это исправить? Что я делаю не так? Спасибо