【问题标题】:Selecting Native Tabs while Espresso testing在 Espresso 测试时选择原生选项卡
【发布时间】:2014-08-04 17:51:22
【问题描述】:

我有一个使用本机操作栏选项卡作为指示器的 viewpager。我想导航到不同的选项卡,但 Tab 组件不是视图,因此 onView 或 withText 在执行点击时无法正常工作。

我可以通过特定的方式浏览 Tab 导航吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 你如何检查所选标签的标题是否与字符串匹配?
    【解决方案2】:

    假设标签上有文字,你可以这样做:

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

    onView、withText 和 click 是静态导入。

    【讨论】:

    • 仅适用于 Tab 主机。不是用 getActionBar().addTab(... style
    【解决方案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");
    

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      相关资源
      最近更新 更多