首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 8 UI测试需要很长时间

Xcode 8 UI测试需要很长时间
EN

Stack Overflow用户
提问于 2016-12-05 20:57:40
回答 6查看 3K关注 0票数 6

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

我正在运行的特定测试的流程甚至没有那么复杂。

我收到了很多“等待应用程序闲置”的消息。

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

这是一个例子,说明我看到了什么,花了多长时间。(测试也仍在运行!)

T= 504.16s等待应用程序空闲t= 625.29s应用程序动画完成通知未收到,将尝试继续。综合事件t= 625.67s等待app空闲

谢谢!

更新:当我轻微地与应用程序交互时,同时保持我所需的元素可见,比如打开一个表视图,测试就会继续进行。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-12-06 20:00:16

谢谢@Oletha -我发现了这个问题,这可能是这个应用程序特有的:

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

其中的一些东西阻碍了用户界面,足以让应用程序在“等待应用程序空闲”中停留几分钟。

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

票数 8
EN

Stack Overflow用户

发布于 2016-12-06 08:32:40

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

如果您认为可以覆盖其中一些行为以加快UI测试,则可以尝试删除活动指示符。

票数 7
EN

Stack Overflow用户

发布于 2018-05-13 19:40:46

我也遇到过同样的问题。解决方案是将对endRefreshing的调用从处理程序移到在处理程序中触发的网络方法的末尾。换句话说,如果刷新表视图,请确保在加载所有数据后进行endRefreshing。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40983184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档