我想使用espresso点击我的一个标签页
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
...>
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem"
android:text="Tab1" />
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem2"
android:text="Tab2" />
</com.google.android.material.tabs.TabLayout>
我尝试断言isDisplayed()是否是
onView(allOf(withId(R.id.tabs), withText("Tab2"), isDescendantOfA(withId(R.id.container)), isDisplayed()));
但是当我尝试单击文本时,它导致NoMatchingViewException
onView(allOf(withId(R.id.tabs), withText("Tab2"), isDescendantOfA(withId(R.id.container)), isDisplayed())).perform(click());
我尝试将其放在不同的行中,
1. check if displayed
2. perform click
我们如何使用espresso成功单击viewPager下的tabtext?
尝试使用标签ID,但结果仍然相同。 使用viewTag的建议不起作用
答案 0 :(得分:0)
尝试一下:
onView(allOf(withText("Tab2"), isDescendantOfA(withId(R.id.tabs)))).perform(click());
由于文本为withText("Tab2")
的视图没有ID withId(R.id.tabs)
(因为其父级是具有该ID的视图),所以这就是为什么您获得NoMatchingViewException