Android ActivityInstrumentationTestCase2-发送键

Android ActivityInstrumentationTestCase2-发送键,android,android-testing,Android,Android Testing,我正试图通过ActivityInstrumentationTestCase2来测试我的应用程序。我的UI中有一些可点击的内容。我使用sendKeys(KeyEvent.KEYCODE\u DPAD\u DOWN)sendKeys(KeyEvent.KEYCODE\u DPAD\u中心)etc以模拟我的UI上的keyevents 问题是我的应用程序有点慢,而测试用例相对比较快。所以发生的情况是,keyevents有时会单击/导航到错误的UI元素,这会弄乱测试用例 有没有其他方法可以在稍有延迟的情况

我正试图通过ActivityInstrumentationTestCase2来测试我的应用程序。我的UI中有一些可点击的内容。我使用sendKeys(KeyEvent.KEYCODE\u DPAD\u DOWN)
sendKeys(KeyEvent.KEYCODE\u DPAD\u中心)etc以模拟我的UI上的keyevents

问题是我的应用程序有点慢,而测试用例相对比较快。所以发生的情况是,keyevents有时会单击/导航到错误的UI元素,这会弄乱测试用例

有没有其他方法可以在稍有延迟的情况下模拟关键事件?目前我正在使用
Thread.sleep(500)
引入较小的延迟

除了使用
Thread.sleep()
,还有更优雅的方法吗


注意:我知道Robotium,如果答案与Android测试框架相关,我将不胜感激。谢谢。

robotium中有睡眠方法,因此您可以将所有线程替换为睡眠:

solo.sleep(long ms);
UIAutomator还使用了另一种方法,但我不确定它是否安全且不会导致UI冻结:

SystemClock.sleep(long ms);
如果确定某个视图将要出现,也可以使用等待方法。看一看,你会发现还有什么对你有用