2017-03-29 73 views
4

我有一个水平RecyclerView垂直RecyclerView内。我使用这个代码我在其他问题中发现:意式浓缩咖啡嵌套回收器视图UI测试

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 

,但这仅适用于父RecyclerView的第一行。

如何点击家长RecyclerView第二行的子RecyclerView上的元素?

回答

2

我终于想通了这个解决方案:

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

什么初始匹配的问题? – azizbekian

+0

我认为问题在于我正在使用isDescendantOfA。浓咖啡无法找到视图。 – Amisha