2016-04-08 4 views
3

Я использую Xcode 7, Swift UI Automation. Мне нужно дождаться появления UIButton на моем домашнем экране. Я задал ожидание «существует == 1».Могу ли я сделать XCTest Expectation без сбоев?

Этот UIButton иногда появляется, иногда это не так. Во время моего теста пользовательского интерфейса, если элемент появляется, все в порядке. Но если элемент не появляется, ожидание терпит неудачу (и я не хочу, чтобы он терпел неудачу, мне просто нужно было предпринять другой поток действий)

Как я могу принять решение с тем, что тест фактически не работает?

+0

Если вы знаете о том, когда кнопка должна отображаться, вы можете просто добавить в короткий вызов сна 'сна (3)', а затем проверить, если кнопка есть – Alex

+0

Вот что ia, и именно то, чего я хочу избежать. Я не хочу использовать вызовы sleep(). благодаря – Herno

ответ

1

вам нужно подождать ожидания и обработать его, если этого не произойдет, сделайте что-то еще в скобках.

let exists = NSPredicate(format: "exists == 1") 
expectationForPredicate(exists, evaluatedWithObject: UIButton, handler: nil) 
waitForExpectationsWithTimeout(10) { error in 

    somethings else 
} 

Приветствия

Смежные вопросы