我正在尝试通过 ActivityInstrumentationTestCase2 测试我的应用程序。我的UI中有一些可点击的内容。我使用sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
等来模拟我的UI上的关键事件。
问题是我的应用程序有点慢而测试用例相对较快。所以发生的事情是,关键事件有时会点击/导航到错误的UI元素,这会混淆测试用例。
还有其他方法可以通过一点点延迟来模拟关键事件吗?现在我正在使用
Thread.sleep(500)
引入一个小延迟。
除了使用Thread.sleep()
之外,还有更优雅的方法吗?
注意:我知道 Robotium ,如果答案与Android测试框架相关,我会很感激。感谢。
答案 0 :(得分:1)
在robotium中有睡眠方法,因此您可以将所有Thread.sleep替换为:
solo.sleep(long ms);
还有另一种方式,UIAutomator使用,但是我不确定,如果它是安全的并且不会导致UI冻结:
SystemClock.sleep(long ms);
如果您确定要显示某些视图,也可以使用等待方法。看看robotium api,你会发现还有什么对你有用。