浓缩咖啡:AppNotIdleException

5

当我打开一个页面时,经常会出现这个错误。有什么解决办法吗?

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吗?也许你错过了某个地方的“减量”来报告空闲状态? - nenick
请查看此链接 https://stackoverflow.com/a/56198539/4797289 - Rasoul Miri
2个回答

8

可能是由于任何创建无限自身的UI元素导致的。例如,您有一个在xml中设置为不可见/隐藏的自定义进度条或Snackbar,并在Java代码中将其设置为可见。但是,由于编写不良的代码,它也可能以不可见/隐藏状态重新绘制自己。因此,如果您有任何自定义UI元素,请仔细检查。


15
这对我来说是个问题(invalidate()在循环中意外被调用)。为了帮助诊断这个问题,您可以启用开发者选项 > 显示Surface更新。有错误的视图会快速闪烁。 - Bob Liberatore
是的...这是诊断问题的方法。 - Apurva Sharma

2
很可能是因为您没有关闭开发者选项中的以下3个设置:
  • 窗口动画缩放
  • 转换动画缩放
  • 动画持续时间缩放

如需更多信息,请阅读 提示 以设置Espresso。

如果不是这种情况,那么在测试运行时似乎有其他东西与您的屏幕进行交互。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接