Я пытаюсь написать тест, который сообщит мне, что мой UIAlertController находится на экране. Тест успешно отображает контроллер предупреждений, но когда я пытаюсь утверждать, что он существует, я получаю ошибку. Почему тест не пройден?
Вот мой код контроллера оповещений:
let alertController = UIAlertController(title: nil, message: "Group the posts by...", preferredStyle: .actionSheet)
alertController.accessibilityLabel = "Grouping Options"
present(alertController, animated: true, completion: nil)
Вот мой тест, который не проходит:
func testThatTappingGroupByButtonPresentsAlertController() {
let blogPostsNavigationBar = app.navigationBars["Blog Posts"]
blogPostsNavigationBar.buttons["Group By"].tap()
let sheetsQuery = app.sheets
XCTAssert(sheetsQuery["Grouping Options"].exists)
}
Тест работает как положено до подтверждения. Я вижу, что alertController представлен в симуляторе. Когда я запускаю sheetsQuery.count
, я получаю 1, чего я и ожидаю. Кажется, что метка доступности моего alertController не найдена. UIAlertController не имеет accessibilityIdentifier, поэтому я использую accessibilityLabel.
Я также пытался установить alertController.isAccessibilityElement = true
, но это тоже не помогло.
Кто-нибудь может увидеть, что я здесь делаю неправильно?