Tabs 在浓缩咖啡测试时选择本机选项卡

Tabs 在浓缩咖啡测试时选择本机选项卡,tabs,android-actionbar,android-viewpager,android-espresso,Tabs,Android Actionbar,Android Viewpager,Android Espresso,我有一个viewpager,它使用本机actionbar选项卡作为指示器。我想导航到不同的选项卡,但选项卡组件不是视图,因此,onView或withText不能与执行单击一起正常工作 是否有特定的方法可以在选项卡导航中导航?假设选项卡上有文本,您可以执行以下操作: onView(withText("Tab Text")).perform(click()) 在视图中,使用文本和单击是静态导入。您可以使用滑动在选项卡之间导航: onView(withId(R.id.viewpager)).perf

我有一个viewpager,它使用本机actionbar选项卡作为指示器。我想导航到不同的选项卡,但选项卡组件不是视图,因此,onView或withText不能与执行单击一起正常工作


是否有特定的方法可以在选项卡导航中导航?

假设选项卡上有文本,您可以执行以下操作:

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

在视图中,使用文本和单击是静态导入。

您可以使用滑动在选项卡之间导航:

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

我创建了以下方法来选择视图中包含文本的任何选项卡

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

干杯

仅适用于选项卡主机。与getActionBar()不同。addTab(…Style)如何检查所选选项卡的标题是否与字符串匹配?