Android 慢点浓缩咖啡

Android 慢点浓缩咖啡,android,automated-tests,integration-testing,instrumentation,android-espresso,Android,Automated Tests,Integration Testing,Instrumentation,Android Espresso,这是关于浓缩咖啡的。我正在模拟器上成功运行集成测试。我认为有些测试失败了,因为它运行得太快了。有没有办法降低执行/播放速度?测试失败不可能导致速度降低。Espresso可以将所有测试操作与正在测试的应用程序同步。默认情况下,Espresso会等待当前消息队列中的UI事件进行处理,并在执行下一个测试操作之前完成默认的AsyncTasks。然而,如果这对于您的应用程序来说还不够,您可以告诉浓缩咖啡何时空闲,何时不空闲。为此,您必须: 实施 接口 在测试设置中调用Espresso.registerI

这是关于浓缩咖啡的。我正在模拟器上成功运行集成测试。我认为有些测试失败了,因为它运行得太快了。有没有办法降低执行/播放速度?

测试失败不可能导致速度降低。Espresso可以将所有测试操作与正在测试的应用程序同步。默认情况下,Espresso会等待当前消息队列中的UI事件进行处理,并在执行下一个测试操作之前完成默认的
AsyncTasks
。然而,如果这对于您的应用程序来说还不够,您可以告诉浓缩咖啡何时空闲,何时不空闲。为此,您必须:

  • 实施 接口
  • 在测试设置中调用
    Espresso.registerIdlingResource
    ,用Espresso注册一个或多个IdlingResource

如果你需要更多的帮助,请告诉我

我也有这个问题。我通过从开发者选项中删除设备上的活动动画解决了这个问题

如果您的问题仍然存在,您可以在测试中使用
sleep
来降低速度

SystemClock.sleep(1000);

哈哈……事实上,浓缩咖啡只有这样才有效。您面临的问题是UI事件无法完成(例如,在从网络调用加载列表之前单击列表项)。
在这种情况下,如果您的资源是从其他线程加载的,您实际上可以执行thread.sleep(毫秒)或更有效的UiController的LoopMainThreadForAtlast(毫秒)方法来等待
加载内容(事件完成).

当您在Android Studio中录制浓缩咖啡测试时,当有视图交互来处理延迟时,它会自动将睡眠语句添加到测试中。这是与注释一起生成的方法:

// Added a sleep statement to match the app's execution delay.
// The recommended way to handle such scenarios is to use Espresso idling resources:
// https://google.github.io/android-testing-support-library/docs/espresso/idling-resource/index.html

try {
    Thread.sleep(700);
} catch (InterruptedException e) {
    e.printStackTrace();
}