2013-08-26 31 views
0

我试图通过ActivityInstrumentationTestCase2来测试我的应用程序。我在我的用户界面中有几个点击。我使用sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);等模拟我的用户界面上的键事件。ActivityInstrumentationTestCase2 - sendkeys

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

是否有任何其他方式模拟keyevents的一点点延迟?现在我使用 Thread.sleep(500)来引入一个小的延迟。

除了使用Thread.sleep()之外,还有更好的方法吗?

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

回答

1

有一个在robotium睡眠的方法,这样你就可以取代所有的Thread.sleep:

solo.sleep(long ms); 

也有另一种方式,这UIAutomator使用,但我不知道,如果它的安全,将不会导致UI的冻结:

SystemClock.sleep(long ms); 

如果您确定某些视图将出现,您还可以使用等待方法。看看robotium api,你会看到还有什么可以帮助你。