Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何测试ActionBar中的SearchView?_Java_Android_Testing_Junit_Searchview - Fatal编程技术网

Java 如何测试ActionBar中的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搜

我在JavaDocs中找不到任何关于如何使用Android测试获取测试菜单中的SearchView的示例或帮助。有办法吗


我想做一个
.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。如果我需要的话,我可以学到更多,但我没有足够的信息来确定投入的时间是否会有成效。我从来没有这样做过,我想你可以找到一些关于谷歌的教程哇,太难看了。然而,如果成功了,你就赢了。今晚我会试试。谢谢你的解决方案。这里是野外: