Android Espresso - 关闭 SearchView

Android Espresso - Closing the SearchView

我正在为 Android 进行 Espresso 测试,对于我的一项操作,我想使用 SearchView 搜索列表,select 一个项目,然后导航回上一个屏幕 (通过关闭搜索视图,然后按向上按钮)。

我尝试了一些方法来访问 SearchView 的 up/collapse 按钮以将其关闭(不起作用):

我希望有人知道访问和关闭此按钮的方法,因为我不知道。

提前致谢。

显然我必须按两次后退按钮才能退出它,所以如果有人想知道,您需要使用 Espresso.pressBack(); 两次才能退出搜索菜单。

正确的id是R.id.search_close_btn

onView(withId(R.id.search_close_btn)).perform(click())

我在访问此 up/collapse 按钮时遇到了同样的问题,通过阅读组件的层次结构,我发现此按钮具有 'Collapse' 的内容描述。所以使用以下解决了我的问题:

onView(withContentDescription(androidx.appcompat.R.string.abc_toolbar_collapse_description)).perform(click())