Тестирование searchview в android - Тестирование инструментов
У меня есть панель поиска на панели действий, где я могу нажать на кнопку поиска на панели действий, написать текст, затем нажать кнопку поиска на программной клавиатуре, после чего должен отобразиться список результатов в представлении переработчика.
Я хочу проверить это, чтобы увидеть, содержит ли результаты в программе повторного просмотра то же слово, что и я (результат - список фильмов).
Например, если я ищу "любовь" и в результате получаются все фильмы с названиями, в которых есть слово "любовь", например "PS I love you"
Я пытаюсь это:
@Test
public void testSearchToolbar() throws Exception {
Instrumentation inst = new Instrumentation();
onView(withId(R.id.action_search)).perform(click());
onView(withId(android.support.design.R.id.search_src_text)).perform(typeText("Seven Samurai"));
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_SEARCH);
onData(withId(R.id.movie_title)).check(matches(isDisplayed()));
}
Я вижу, что текст набирается в searchview, но после этого теста не удается.
Может кто-то помочь мне с этим
1 ответ
В 2022 году я делаю это для своего случая:
onView(withId(R.id.action_search))
.perform(click())
onView(withId(R.id.searchView))
.check(matches(isDisplayed()))
onView(isAssignableFrom(EditText::class.java))
.perform(typeText(query), pressKey(KeyEvent.KEYCODE_ENTER))
Espresso.onView(ViewMatchers.withId(resId))
.check(ViewAssertions.matches(CustomMatchers().recyclerViewSizeMatch(count)))