在JavaDocs中找不到关于如何使用Android测试来获取菜单中SearchView进行测试的示例或帮助。有办法吗?
我想做一个.setQuery("Foo", true)
或等效项来测试我的应用程序中的搜索。那怎么办?
最佳答案
According to this documentation
注意:尽管可以折叠操作视图,但是我们建议
如果您的操作视图包含SearchView,则始终将其折叠。
另请注意,某些设备提供了专用的SEARCH按钮和
如果用户按下
搜索按钮。只需覆盖您活动的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.
}
确保清单中有注入权限。
关于java - 如何测试ActionBar中的SearchView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11282167/