1
如何遍历所有匹配onView()
的视图并单击每个视图?特别是,我有一个ListView
其中每行有一个CheckBox
。我想写一个测试,点击每个CheckBox
依次。通过匹配的视图进行迭代
如何遍历所有匹配onView()
的视图并单击每个视图?特别是,我有一个ListView
其中每行有一个CheckBox
。我想写一个测试,点击每个CheckBox
依次。通过匹配的视图进行迭代
由于我有一个ListView
,我需要使用onData()
而不是onView()
。我也知道到底有多少行是在ListView
,这样我就可以使用for循环和DataInteraction.atPosition()
:
for (int i = 0; i < rowCount; i++) {
onData(instanceOf(BaseballCard.class))
.atPosition(i)
.perform(click());
}
我可以想像其他情况,我有几个类似的看法TableLayout
或超过ListView
以外的东西。如果能够遍历onView()
匹配的视图,肯定会很好,但是我还没有找到一种方法来完成此操作。
我不是Espresso专家,但是onView的javadoc表明它只处理单个视图。 –
@DougStevenson是的,看起来就是这样。所以我需要找到其他方法来获取视图列表。如果它不存在,我可能会弄清楚'onView()'是如何工作的,并为我的目的进行修改。 –
如果你可以获得一个真正的ListView对象的引用,可以迭代它来查找当前可见的子视图。但我实际上是在Espresso之前,在此刻教我自己的uiautomator,否则我会尽快找到答案! –