2016-06-10 3 views
2

У меня есть заставка, которая отображается в течение 3 секунд, а затем исчезает в новом режиме. На этой точке зрения есть UILabel под названием «Политика конфиденциальности», к которому я прикреплен UIGestureRecognizer. Я пытаюсь использовать тесты пользовательского интерфейса, чтобы использовать эту метку, чтобы вызвать толчок навигационного контроллера. Это работает в реальной жизни, однако во время тестирования пользовательского интерфейса кран ничего не делает. Мой код выглядит следующим образом:UI Test tap() не работает

func testPrivacyPolicyLink() { 
    let app = XCUIApplication() 

    let exists = NSPredicate(format: "exists == 1") 
    expectationForPredicate(exists, evaluatedWithObject: app.images["Logo"], handler: nil) 

    waitForExpectationsWithTimeout(5) { error in 
     XCTAssertNil(error, "Splash screen took too long") 
     sleep(4) // Added this just to make sure the splash screen has fully faded away 
     app.staticTexts["Privacy Policy"].tap() // Should trigger a navigation controller push, but doesn't do anything 
    } 
} 

Даже при записи теста пользовательского интерфейса для этой ситуации, он вызывает app.staticTexts["Privacy Policy"].tap(), которая работает. Но когда я его воспроизвожу, это не сработает. Любая помощь по этому поводу будет оценена по достоинству!

+0

почему бы не просто сделать это кнопка? –

+1

@ LukePatterson Это сложно ... Но это не имеет значения? – Tometoyou

+0

Если это работает в реальной жизни, зачем вам его тестировать? – user2277872

ответ

1

Вам необходимо настроить черты доступности для этого представления как «Button» или «Link», чтобы система доступности была понятна, чтобы эти элементы были осязаемы. Вы можете установить его в Interface Builder, выберите Удостоверение инспектора в области коммунального хозяйства и набор классов доступности идентификаторов и черты Identity inspector screenshot

в качестве альтернативы вы можете сделать это в коде

self.view.accessibilityTraits = UIAccessibilityTraitButton; 
self.view.accessibilityIdentifier = "departments selection"; 
Смежные вопросы