大约一个月前,我在1.5小时后升级到Android Studio 2.0很长一段时间。我有一套23个测试,它们构建在Espresso之上,可以驱动我的应用程序。
通常情况下,我使用Genymotion Pro,但我一直试图让CI服务器继续运行,我想使用"新的和改进的#34;谷歌Android模拟器。
今天我终于开始尝试新的模拟器了。安装我的应用程序并使用它后,我感到非常惊讶。
当我通过Android Studio运行测试时,我的乐观情绪很快消失了。以下是我遇到的一些问题:
- 测试需要花费大量时间进行安装,有时会挂5分钟以上,此时我会关闭它们。
- 仿真器在每次测试之间重新启动。这为总执行增加了相当多的时间。有时重新启动它只是冻结,我必须关闭它。
- 测试无故失败。
- 测试完成后,有时模拟器会长时间挂在黑色屏幕上。有时长时间我只是杀了模拟器。
- 测试完成后,模拟器通常没有响应并且坏了。
请注意,上述任何都不会发生在Genymotion上。
其他一些信息:
- 我的机器是运行Yosemite(10.10.5)的MacBook Air
- 我的应用程序现在使用所有SDK依赖项的最新版本。
- 动画关闭动画
- 我正在使用Java 1.8进行编译并使用RetroLambda(我不明白为什么这很重要,但谁知道呢)
- 我非常有信心,我的Espresso测试在2.0之前的仿真器上运行顺利,但至少已经有一个月了,因为我已经做到了这一点,我无法肯定地说。如果没有别的办法,我可能会降级并尝试一下。
- 当所有这些发生时,Log cat还没有向我提供任何有用的信息。
- 通过USB连接的实际设备上的测试工作正常。
我尝试过的事情:
- 我认为这可能是Android Studio的一个问题。唉,在命令行上使用Gradle会出现同样的问题。
- 我尝试了一系列不同的设备类型和ABI版本,但问题就出现了。
- 我从Github下载了一些Espresso示例项目。我在所有这些项目中遇到了同样的问题,这表明这可能不是我特定Espresso设置的问题。
- 删除旧模拟器并创建新模拟器。
- 同事已经跨机器复制了这个问题(所有类型的mac)
我为此感到困惑。还有其他人经历过同样的事情吗?无论如何我可以让谷歌Android模拟器以有用的方式运行测试吗?
谢谢!