Espresso Tests在调用片段替换后挂起

时间:2017-12-13 19:13:40

标签: android automated-tests android-espresso openglrenderer

Espresso测试挂起无限循环,永不结束,没有错误.... 在没有任何动画的情况下从片段导航到片段。 Espresso无法识别当前片段中的任何视图并挂起......

每当片段启动并对用户可见时,

就会在日志下面找到。

W / View:my.app.packege.CustomTextView不正确调用的requestLayout() 和 D / OpenGLRenderer:DisplayEventReceiver 0xb89c2080 requestNextVsync D / OpenGLRenderer:DisplayEventReceiver 0xb89c2080 latestVsyncEvent 20573087565730 ....在同一个屏幕上无限制地记录。

如果使用Activity规则启动activity(包含片段), 得到以下异常。几乎所有的stackoverflow解决方案都适用于以下异常,但没有成功。

`java.lang.RuntimeException:无法在45秒内启动意图Intent {act = android.intent.action.MAIN flg = 0x14000000 cmp = my.app.package.OnBoardingActivity}。也许主线程在合理的时间内没有闲置?可能会有一个动画或不断重新绘制屏幕的东西。或者活动是在创建网络呼叫?请参阅threaddump日志。在您的活动启动请求为 1501794260664 之前,上次事件队列空闲的时间供您参考,现在队列最后一次空闲时是: 1501794260664 。如果这些数字相同,则您的活动可能占用事件队列。

有人遇到过这样的问题吗?让我知道你的建议。

由于

1 个答案:

答案 0 :(得分:1)

请在开发者选项中启用“显示曲面更新”。手动检查流量,看看屏幕是否在任何位置连续闪烁。看起来CuatomView中存在一个问题,即连续无效并请求布局。请查看是否可以在主线程上使用IdlingResource,ConditionWatcher或普通线程休眠来解决此问题。