Espresso无法在自定义视图类

时间:2017-10-12 07:12:38

标签: android android-espresso

我有一个自定义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)

1 个答案:

答案 0 :(得分:8)

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

似乎在访问另一个View(嵌套视图)中的View时,您必须检查它是isDescendantOfA()而不是withParent()

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