Я работаю над тестами Espresso для Android, и для одного из моих действий я хочу выполнить поиск в списке с помощью SearchView, выбрать элемент и затем вернуться к предыдущему экрану (закрыв окно поиска и нажав кнопку вверх).
Я пробовал некоторые вещи, чтобы получить доступ к кнопке вверх / свернуть SearchView, чтобы закрыть его (это не работает):
onView(withContentDescription(R.string.abc_action_bar_up_description))onView(withId(R.id.search_close_btn))onView(withId(R.id.home))onView(withId(R.id.homeAsUp))onView(withId(R.id.collapseActionView))Espresso.pressBack() (чтобы просто вернуться назад)Я надеюсь, что кто-то может знать способ получить доступ к этой кнопке и закрыть ее, потому что я понятия не имею.
Заранее спасибо.




По-видимому, мне пришлось дважды нажать кнопку «Назад», чтобы выйти из него, поэтому, если кто-то хочет знать, вам нужно дважды использовать Espresso.pressBack();, чтобы выйти из меню поиска.
Правильный идентификатор - R.id.search_close_btn
onView(withId(R.id.search_close_btn)).perform(click())
У меня была такая же проблема с доступом к этой кнопке вверх / вниз, и, прочитав иерархию компонентов, я обнаружил, что эта кнопка имеет описание содержимого «Свернуть». Итак, используя следующее, я решил проблему для меня:
onView(withContentDescription(androidx.appcompat.R.string.abc_toolbar_collapse_description)).perform(click())