ios – 如何在Xcode UI Test(XCUITest)中更改获取快照所需的时间?

我正在做一些性能实验,并且我的
Xcode UI测试一直出现这个错误,因为没有命中新的UI Test语句:

UITesting Failure - Failed to get snapshot within 15.0s

如何将此15.0s变量更改为更长的时间?是否有一些我可以更改的配置或设置?

最佳答案 您可以使用期望来分配任意数量的时间来运行任何测试用例.您只需在15.0s过去之前创建一个额外的期望,并根据需要多次重复此过程.这是一个简短的代码示例来说明:

var timeToDelay = 60.0
repeat {
    let delay = min(13.0, timeToDelay)
    timeToDelay -= delay
    let date = Date().addingTimeInterval(delay)
    let predicate = NSPredicate(format: "now() > %@", argumentArray: [date])
    self.expectation(for: predicate, evaluatedWith: [], handler: nil)
    self.waitForExpectations(timeout: 14.0, handler: nil)
} while timeToDelay > 0

在看到测试失败之前将其放置在此处,并将timeToDelay替换为您需要的额外时间量(以秒为单位).

点赞