1

我在 JavaDocs 中找不到关于如何使用 Android 测试在菜单中的 SearchView 进行测试的任何示例或帮助。有没有办法做到这一点?

我想.setQuery("Foo", true)在我的应用程序中做一个或等效的测试搜索。怎么可能呢?

4

2 回答 2

2

根据这个文档

注意:虽然折叠您的操作视图是可选的,但我们建议您始终折叠包含 SearchView 的操作视图。另请注意,某些设备提供专用的搜索按钮,如果用户按下搜索按钮,您应该展开搜索操作视图。只需覆盖活动的 onKeyUp() 回调方法,侦听 KEYCODE_SEARCH 事件,然后调用 expandActionView()。

如果您已经为 KEYCODE_SEARCH 事件扩展了 serach 视图,那么应该可以通过使用仪器注入事件来进行测试。

public void testSearch() { 
   Instrumentation instrumentation = getInstrumentation(); 
   instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_SEARCH); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_F); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_O); 
   instrumentation.sendCharacterSync(KeyEvent.KEYCODE_O);
   //Assert here for whatever you want. 
}

确保您在清单中具有注入权限。

于 2012-07-08T17:00:27.887 回答
1

我认为您可以使用 monkeyrunner 来做到这一点:http: //developer.android.com/tools/help/monkeyrunner_concepts.html

于 2012-07-01T13:21:42.023 回答