在iOS应用程序的UI测试中禁用等待空闲状态

基本上问题与这个问题相同:XCTestCase: Wait for app to idle

我在视图中一直在使用“背景动画”. Xcode / iOS的!@#$#$& @ UI测试想要等待所有UIView动画在它认为应用程序空闲之前结束并继续点击按钮等等.它只是不能用的方式我们设计了应用程序. (具体来说,我们有一个使用UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse选项进行动画处理的按钮,因此它永远不会停止.)

但我认为可能有某种方法可以关闭和/或缩短状态“等待应用程序闲置”.在那儿?怎么样?还有其他方法吗?

最佳答案
不幸的是,使用Apple的UI测试无法将“等待app闲置”或轮询其他网络活动,但是您可以使用环境变量来禁用应用中的动画以使测试更稳定.在测试之前的设置方法中设置这样的环境变量.

override func setUp() {
    super.setUp()
    continueAfterFailure = false
    let app = XCUIApplication()
    app.launchEnvironment = ["UITEST_DISABLE_ANIMATIONS" : "YES"]
    app.launch()
}

现在在您的源代码中:

if (ProcessInfo.processInfo.environment["UITEST_DISABLE_ANIMATIONS"] == "YES") {
    UIView.setAnimationsEnabled(false)
}

如果您只希望它禁用该特定视图的动画或在代理文件中禁用整个应用程序中的动画,则可以将该检查放在特定视图中.

转载注明原文:在iOS应用程序的UI测试中禁用等待空闲状态 - 代码日志