Espressotesting错误:AppNotIdleException

我closures了开发人员选项上的所有animation。 但是,当我尝试点击其中一个button时,我仍然得到这个exception。

我的应用程序确实是活跃的,并没有完全闲置,但我无法改变它。

android.support.test.espresso.AppNotIdleException: Looped for 6930 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.doPerform(ViewInteraction.java:115) at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87) 

  • Espresso测试错误:AppNotIdleException
  • 无法让Robotium在Android Studio中运行
  • 用EspressotestingViewPager。 如何执行一个项目的button的动作?
  • 是否有可能使用espresso进行截图并testing像素值?
  • 如何检测Android应用程序是否正在用Espresso进行UItesting
  • 意式咖啡dynamic旋转器testing
  • 如何使用React Native的Espresso UI测试?
  • 在运行测试之前,android espresso登录一次
  • 过去几天我一直在努力解决这个问题。
    以下是我用来识别“违规者”的方法:

     private void dumpThreads() { int activeCount = Thread.activeCount(); Thread[] threads = new Thread[activeCount]; Thread.enumerate(threads); for (Thread thread : threads) { System.err.println(thread.getName() + ": " + thread.getState()); for (StackTraceElement stackTraceElement : thread.getStackTrace()) { System.err.println("\t" + stackTraceElement); } } } 

    就我而言,Facebook SDK使用AsyncTask线程池。

    根据MaciejGórski对类似问题的回答:

    这是我的应用程序代码中的一个错误, SwipeRefreshLayout在这里无限期地animation。 由于这个组件中的一个错误 ,刷新状态甚至没有显示。