我正在写一个UIAutomation测试用例,我需要等待用户被激活才能继续。似乎没有一种很好的方法来检查按钮是否更改为启用状态。

最好的方法是等待UI中发生某些事情之后再检查其状态?

dispatch_after和NSTimer似乎都无法正常工作。他们只是阻止然后失败。

最佳答案

如果使用NSPredicates和期望,这实际上很容易。您甚至可以设置超时值。本示例向您展示了如何在5秒钟的超时时间内完成操作。

let exists = NSPredicate(format:"enabled == true")
expectationForPredicate(exists, evaluatedWithObject: app.tables.textFields["MY_FIELD_NAME"], handler: nil)
waitForExpectationsWithTimeout(5, handler: nil)

关于ios - UIAutomation和XCTestCase : how to wait for a button to activate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31300372/

10-09 02:37