如何使用tablayout在viewpager中设置当前选项卡

时间:2015-11-10 22:11:52

标签: android-viewpager android-espresso android-tablayout

我有一个使用tablayout的自定义viewpager(由于原因而禁用了滑动)。内容根据选择的选项卡而变化。我想用浓缩咖啡测试一下: 1)单击特定选项卡 2)检查选项卡特定页面中的一些数据 我怎样才能做到这一点。我是意式浓缩咖啡的新手

2 个答案:

答案 0 :(得分:20)

有几种方法可以做到这一点,一个简单的方法就是按标签标题选择元素,我使用这段代码:

Matcher<View> matcher = allOf(withText("TAB TITLE"),
            isDescendantOfA(withId(R.id.customTab)));
onView(matcher).perform(click());
SystemClock.sleep(800); // Wait a little until the content is loaded

您只需要将匹配器调整到您的布局。 然后,检查内容。

例如:

onView(withId(R.id.someId)).check(matches(isCompletelyDisplayed()));

或:

onView(withText(R.string.someText)).check(matches(isCompletelyDisplayed()));

您可以在指定视图匹配器部分找到示例:http://developer.android.com/intl/es/training/testing/ui-testing/espresso-testing.html

如果您使用RecyclerView显示标签的内容,请查看以下内容: Espresso RecyclerView inside ViewPager

答案 1 :(得分:-3)

当你清楚地知道用户界面中的预期时,应该使用Espresso,这样你就可以验证它。

在您的情况下,要转到任何标签页,您可以使用查看操作来点按该标签。 要验证数据,首先您应该知道该选项卡上预期的数据,然后使用匹配器检查它们是否显示。