在我的Android应用中-登录后有一个静态同步任务,该任务可能会运行几分钟,并将数据提取到手机数据库中。
在同步数据时,用户可以继续使用该应用程序是正常的。 但是espresso由于某种原因正在等待同步AsyncTask完全完成,然后再转到下一个屏幕,我如何告诉Espresso继续而不等待?
谢谢
答案 0 :(得分:0)
如documentation中所述,对onView()
的调用会等待AsyncTask
的实例当前不执行任务。不过,在查看Espresso implementation时,您可以注意到Espresso正在寻找andriod.os.AsyncTask#THREAD_POOL_EXECUTOR
(或其支持版本android.support.v4.content.ModernAsyncTask
)的实例。因此,如果您定义了一个自定义执行器(尝试从AsyncTask实现中复制一个),则可以通过asyncTask.executeOnExecutor(myCustomExecutor, params)
这样的方式执行AsyncTask实例,而Espresso不会暂停onView()
调用,因为{{1} }正在运行。