Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行测试时出现Android/Espresso意图错误_Android_Jenkins_Android Espresso - Fatal编程技术网

运行测试时出现Android/Espresso意图错误

运行测试时出现Android/Espresso意图错误,android,jenkins,android-espresso,Android,Jenkins,Android Espresso,我在Jenkins和某些队友的电脑上得到了下面的错误,当运行浓缩咖啡测试时。我搜索了这个错误,发现它与超时或一些动画有关。所有设备都关闭了动画 例如:上周我收到了这个问题,我卸载了所有的Android Studio,删除了代码,然后重新安装。它不起作用。我还升级了Java和JDK。在那之后,我仍然得到这个问题。然后有一天它就开始工作了。我不知道为什么 现在我的同事们都遇到了这个问题。在一个设备(5.1)而不是另一个设备(6.0)上运行时,会出现此问题。另一位同事遇到了相反的问题 所以我的问题是-

我在Jenkins和某些队友的电脑上得到了下面的错误,当运行浓缩咖啡测试时。我搜索了这个错误,发现它与超时或一些动画有关。所有设备都关闭了动画

例如:上周我收到了这个问题,我卸载了所有的Android Studio,删除了代码,然后重新安装。它不起作用。我还升级了Java和JDK。在那之后,我仍然得到这个问题。然后有一天它就开始工作了。我不知道为什么

现在我的同事们都遇到了这个问题。在一个设备(5.1)而不是另一个设备(6.0)上运行时,会出现此问题。另一位同事遇到了相反的问题

所以我的问题是-我可以检查什么?将采取哪些步骤?我们比较了设备上的注释——所有IDE都与版本号和构建工具相匹配,等等。我的想法快用完了

谢谢

java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.COMPANY.espresso/com.COMPANY.activity.LauncherActivity } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1469050322683 and now the last time the queue went idle was: 1469050322683. If these numbers are the same your activity might be hogging the event queue.
at android.support.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:360)
at android.support.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:219)
at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:268)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1862)

我的第一个猜测是,
ProgressBar
会阻止浓缩咖啡,并且您的
活动的内容视图包含一个不确定的
ProgressBar
,它在
onResume
返回之前始终可见或变为可见。动画会让应用程序保持忙碌,而浓缩咖啡会一直等到超时。这将完全创建您发布的错误

因为您的测试有时会工作,所以我假设
ProgressBar
的可见性取决于后台任务。如果在Espresso超时之前进度条被隐藏(或从视图层次结构中删除),则测试将运行

第二种猜测是,您正在为后台作业使用
AsyncTasks
。如果在
onResume
返回之前开始长时间运行
AsyncTasks
,这也会创建您发布的错误


若要检查
ProgressBar
是否是您可以完全删除它的原因,或将其不确定的可绘制部分替换为静态可绘制部分(即
彩色可绘制部分)。

请清理项目并创建项目


同时关闭虚拟或物理设备上的系统动画。

应用程序启动时会执行什么操作?它是否在后台执行代码?在您的
应用程序.onCreate()
中发生了什么?当执行
启动器活动的
onCreate
onStart
onResume
时会发生什么?是否显示不确定的
进度条
?发布
LauncherActivity
的代码及其布局,以及
应用程序的
onCreate
。我无法显示任何代码,但我们的应用程序会执行一些后台网络请求、身份验证,我们还设置了一些单例。我们还显示了一个加载指示器。请确保您的设备没有任何安全措施来解锁屏幕。在测试开始运行之前,确保屏幕已解锁。