Espresso测试时选择Native Tabs

时间:2014-08-04 17:51:22

标签: tabs android-actionbar android-viewpager android-espresso

我有一个viewpager,它使用原生操作栏Tabs作为指标。我想导航到不同的选项卡,但Tab组件不是视图,因此onView或withText无法正常执行点击。

我可以采用特定方式浏览标签导航吗?

3 个答案:

答案 0 :(得分:13)

您可以使用滑动在标签之间导航:

onView(withId(R.id.viewpager)).perform(swipeLeft());
onView(withId(R.id.viewpager)).perform(swipeRight());

答案 1 :(得分:5)

假设选项卡上有文字,您可以这样做:

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

onView,withText和click是静态导入。

答案 2 :(得分:3)

我创建了以下方法来选择任何带有文本的选项卡。

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");

干杯