浓缩咖啡:AppNotIdleException

Posted

技术标签:

【中文标题】浓缩咖啡:AppNotIdleException【英文标题】:Espresso: AppNotIdleException 【发布时间】:2016-08-05 21:03:54 【问题描述】:

当我登陆一个页面时,我不断收到此错误。有什么办法可以解决这个问题?

android.support.test.espresso.AppNotIdleException: Looped for 4539 iterations over 60 SECONDS. The following Idle Conditions failed .
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:92)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:56)
at android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:184)
at android.support.test.espresso.ViewInteraction.check(ViewInteraction.java:158)

【问题讨论】:

您使用 IdlingResources 吗?也许您错过了报告空闲的“减量”? 查看***.com/a/56198539/4797289 【参考方案1】:

它可能是由于任何无限创建自身的 UI 元素而发生的。例如,您有一个自定义 ProgressBar 或 Snackbar,它在 xml 中设置为不可见/消失,并且您将其设置为在 java 代码中可见。但由于代码编写不当,它也可能将自己重新绘制为不可见/消失状态。因此,如果有任何自定义 UI 元素,也请检查一下。

【讨论】:

这对我来说是个问题(invalidate() 不小心被循环调用)。为了帮助诊断此问题,您可以启用“开发人员选项”>“显示 Surface 更新”。冒犯的观点会很快闪现。 是的...这是诊断问题的方法。【参考方案2】:

很可能是因为你没有在开发者选项中关闭以下 3 项设置:

窗口动画比例 过渡动画比例 动画持续时间比例

如需了解更多信息,请阅读tips 以设置 Espresso。

如果不是这种情况,则在测试运行时似乎有某些东西与您的屏幕交互。

【讨论】:

以上是关于浓缩咖啡:AppNotIdleException的主要内容,如果未能解决你的问题,请参考以下文章

带有 AsyncTask 的浓缩咖啡

手机睡着的浓缩咖啡测试

未解决的浓缩咖啡方法

浓缩咖啡 - withEffectiveVisibility vs isDisplayed

带有“hasBackground”的浓缩咖啡测试

勺子和浓缩咖啡测试