Выбор нативных вкладок при тестировании эспрессо

У меня есть просмотрщик, который использует собственные вкладки панели действий в качестве индикатора. Я хотел бы перейти на разные вкладки, но компонент Tab не является представлением, поэтому onView или withText не работают должным образом с выполнением кликов.

Есть ли особый способ навигации по вкладкам?


person Calvin Park    schedule 04.08.2014    source источник


Ответы (3)


Вы можете использовать свайп для навигации между вкладками:

onView(withId(R.id.viewpager)).perform(swipeLeft());
onView(withId(R.id.viewpager)).perform(swipeRight());
person Eduko    schedule 08.08.2014
comment
Как тогда проверить, соответствует ли заголовок выбранной вкладки строке? - person IgorGanapolsky; 13.07.2015

Предполагая, что на вкладке есть текст, вы можете сделать:

onView(withText("Tab Text")).perform(click())

onView, withText и click являются статическими импортами.

person yogurtearl    schedule 07.08.2014
comment
Это работает только с хостами Tab. Не так, как это делается с getActionBar().addTab(... style - person Calvin Park; 08.08.2014

Я создал следующий метод для выбора любой вкладки с отображаемым текстом.

public MainScreen clickOnTab(String tabText) {
    onView(allOf(withClassName(endsWith("TabView")),
            withChild(withText(tabText)),
            withParent(withParent(withId(R.id.main_activity_tab_layout)))
    )).perform(scrollTo()).perform(click());
    return this;
}

и для вызова этого метода просто вызовите метод, как показано ниже:

MainScreen.getInstance().clickOnTab("Tab Name");

Ваше здоровье

person Hiten Bahri    schedule 01.06.2016