2017-03-29 3 views
4

Ich habe eine horizontale RecyclerView innerhalb einer vertikalen RecyclerView. Ich verwende diesen Code ich auf andere Frage gefunden:Espresso Nested Recycler Ansichten UI-Test

onView(allOf(isDescendantOfA(withRecyclerView(R.id.parentVerticalRecyclerView).atPosition(parentPosition)), 
      isDescendantOfA(withRecyclerView(R.id.childHorizontalRecyclerView).atPosition(childPosition)), 
       (withText("USA")))) 
       .perform(click()); 

// It is not working for parentPosition > 0 

aber das funktioniert nur für die erste Reihe von Eltern RecyclerView.

Wie klicke ich auf das Element auf dem Kind RecyclerView der zweiten Zeile des Elternteils RecyclerView?

Antwort

2

Ich dachte, endlich die Lösung für diesen heraus:

onView(allOf(
     withId(R.id.childHorizontalRecyclerView), 
     withParent(
      withRecyclerView(R.id.parentVerticalRecyclerView).atPosition(2) 
     ) 
     ) 
).perform(RecyclerViewActions.actionOnItemAtPosition(3, scrollTo())) 
.check(matches(hasDescendant(withText("USA")))); 
+0

Was das Problem mit anfänglichem Matcher war? – azizbekian

+0

Ich glaube, das Problem war, dass ich isDescendantOfA verwendet habe. Espresso konnte die Aussicht nicht finden. – Amisha

Verwandte Themen