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

我正在做一些性能实验,并且由于没有新的UItesting语句被击中,我一直在使用我的Xcode UItesting得到这个错误:

UITesting Failure - Failed to get snapshot within 15.0s 

我怎样才能改变这个15.0svariables更长? 有一些configuration或设置,我可以改变?

您可以使用期望来分配任意数量的时间来运行任何testing用例。 您只需在15.0s之前创build一个额外的期望值,并根据需要多次重复此过程。 这里有一个简短的代码示例来说明:

 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 

在看到testing失败之前将其放置正确,并用所需的额外时间(以秒为单位)replacetimeToDelay

我不认为这是可能的。 如果任何应用程序启动的话,苹果系统的限制时间为20秒,如果花费的时间超过了你的应用程序将被杀死的时间。 资源

因为UItesting需要引导你的应用程序,苹果已经给自己5秒钟来执行所有的设置。 所以基本上你有15秒的限制来启动你的应用程序。

由于无法覆盖系统的20秒限制,因此也无法覆盖XCTest的15秒限制。