我有一个viewpager,它使用原生操作栏Tabs作为指标。我想导航到不同的选项卡,但Tab组件不是视图,因此onView或withText无法正常执行点击。
我可以采用特定方式浏览标签导航吗?
答案 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");
干杯