【问题标题】:Can I make an XCTest Expectation without failing?我可以在不失败的情况下做出 XCTest 期望吗?
【发布时间】:2016-04-08 17:11:09
【问题描述】:

我正在使用 Xcode 7,Swift UI 自动化。我需要等待 UIButton 出现在我的主屏幕中。我为“exists == 1”设定了一个期望。

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

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

【问题讨论】:

  • 如果您知道按钮应该何时显示,您可以添加一个简短的睡眠呼叫sleep(3),然后检查按钮是否存在
  • 这就是我正在做的,也是我想要避免的。我不想使用 sleep() 调用。谢谢

标签: ios xcode swift xcode-ui-testing


【解决方案1】:

您必须等待期望并处理它,如果这没有发生,请在括号中执行其他操作。

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

   somethings else
}

干杯

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    相关资源
    最近更新 更多