Espresso在自定义视图类中找不到View

问题描述 投票:5回答:1

我有一个定制的Viewpublic class Foo extends RelativeLayout{...},其中有一个EditTextFoo类有一个XML布局膨胀,其EditText也有一个id但它无法找到EditText

我正在使用这个Espresso代码:

onView(allOf(withId(R.id.edittext), withParent(withId(R.id.name_container)))).check(matches(isDisplayed())).perform(click());

我得到的错误信息是:

android.support.test.espresso.NoMatchingViewException:找不到层次结构中的视图匹配:(使用id:dk.aura.app.staging:id / edittext并具有父匹配:具有id:dk.aura.app.staging:id / name_container)

android android-espresso
1个回答
8
投票

凭着坚持不懈,我找到了自己问题的答案。

看来,在另一个View(嵌套视图)中访问View时,你必须检查它是否是isDescendantOfA()而不是withParent()

所以这是正确的方法:onView(allOf(withId(R.id.edittext), isDescendantOfA(withId(R.id.name_container)))).check(matches(isDisplayed()));

© www.soinside.com 2019 - 2024. All rights reserved.