我可以在不失败的情况下创建XCTest期望吗?

问题描述:

我正在使用Xcode 7,Swift UI Automation。我需要等待UIButton出现在我的主屏幕中。我设置了“存在== 1”的期望。我可以在不失败的情况下创建XCTest期望吗?

这个UIButton有时会出现,有时它不会。 在我的UI测试过程中,如果元素出现,一切正常。 但是,如果元素不出现,期望失败(我不希望它失败,我只需要采取另一个行动流程)

我该如何做出决定,我的测试实际上失败了?

+0

如果你知道当按钮应显示出来,你可以只添加在很短的睡眠通话'睡眠(3)',然后检查按键是否有 – Alex

+0

那是什么我正在做,正是我想要避免的。我不想使用sleep()调用。谢谢 – Herno

你必须等待期望并处理它,如果没有发生,请在括号内做别的事情。

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

    somethings else 
} 

干杯