Тестирование 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)))
Другие вопросы по тегам