Java 如何测试ActionBar中的SearchView?
我在JavaDocs中找不到任何关于如何使用Android测试获取测试菜单中的SearchView的示例或帮助。有办法吗Java 如何测试ActionBar中的SearchView?,java,android,testing,junit,searchview,Java,Android,Testing,Junit,Searchview,我在JavaDocs中找不到任何关于如何使用Android测试获取测试菜单中的SearchView的示例或帮助。有办法吗 我想做一个.setQuery(“Foo”,true)或类似的测试来在我的应用程序中进行搜索。怎么做呢?我想你可以用monkeyrunner来做: 注意:尽管折叠动作视图是可选的,但我们建议 如果动作视图包含SearchView,则始终折叠该视图。 还要注意,有些设备提供专用的搜索按钮和 如果用户按 搜索按钮。只需覆盖活动的onKeyUp()回调 方法,侦听KEYCODE\u搜
我想做一个
.setQuery(“Foo”,true)
或类似的测试来在我的应用程序中进行搜索。怎么做呢?我想你可以用monkeyrunner来做:
注意:尽管折叠动作视图是可选的,但我们建议
如果动作视图包含SearchView,则始终折叠该视图。
还要注意,有些设备提供专用的搜索按钮和
如果用户按
搜索按钮。只需覆盖活动的onKeyUp()回调
方法,侦听KEYCODE\u搜索事件,然后调用
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.
}
确保您在清单中具有注入权限。您能更具体地说吗?我在Android开发者网站上看到的文档在这个问题上似乎有些模糊。我看到其他几个网站提到了一些与之配套使用的工具,但没有明确的内容。我还没有看到任何东西清楚地解释如何使用它,我也不太懂Python。如果我需要的话,我可以学到更多,但我没有足够的信息来确定投入的时间是否会有成效。我从来没有这样做过,我想你可以找到一些关于谷歌的教程哇,太难看了。然而,如果成功了,你就赢了。今晚我会试试。谢谢你的解决方案。这里是野外: