Xcode 8 UI测试需要很长时间

Ari*_*lSD 3 xcode xcode-ui-testing xcode8

我正在为XCode 8编写一个非常复杂的应用程序的UI测试.我发现了几个问题,其中一个问题是我运行的每个测试都需要几分钟.

我正在运行的特定测试的流程甚至都不复杂.

我得到许多"等待app闲置"的消息.

有谁知道为什么测试需要这么长时间才能运行,或者你对我如何加快它们有任何建议?WWDC演示基本上是即时的,但这是一个非常简单的应用程序.

这是我看到的一个例子,以及需要多长时间.(测试还在运行!)

t =   504.16s         Wait for app to idle
t =   625.29s         App animations complete notification not received, will attempt to continue.
t =   625.30s         Synthesize event
t =   625.67s         Wait for app to idle
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新:当我与应用程序轻微交互时,同时保持我需要的元素,例如通过拉取tableview,测试继续.

Ole*_*tha 7

框架将等待应用程序变为静态,因此如果任何视图正在动画或显示任何活动指示器,可能包括状态栏中的网络活动指示器,框架将挂起,直到应用程序静止。这是为了防止在 UI 测试运行时出现动画和组件加载的竞争条件。

如果您认为可以覆盖某些此类行为以加快 UI 测试速度,您可以尝试尝试删除活动指示器。


Ari*_*lSD 7

谢谢@Oletha - 我发现了这个问题可能是特定的:

在一次删除大量代码以查看问题所在之后,我们发现我们在连续行上调用beginRefreshingendRefreshing在子类上调用UIRefreshControl.

关于这一点的东西使用户界面停滞不前,足以将应用程序保持在"等待应用程序闲置"几分钟.

我们用自定义方法替换了这两行,现在测试正常运行.