Espresso Android:无法滚动并单击列表首选项中的特定项目

Espresso Android : Cannot scroll and click on a specific item in the list preference

Android Espresso 测试:必须单击编号索引为 14 且在屏幕上不可见的项目。首先需要滚动到这个特定的项目,然后单击。成功地能够 swipeUp() 一直到底部但是我想点击的项目在屏幕上不可见。有什么帮助吗?尝试了以下它不起作用:

onData(instanceOf(ListPreference.class)).inAdapterView(allOf(withId(android.R.id.list))).atPosition(14).perform(scrollTo());

请试一试

onData(anything()).inAdapterView(withId(android.R.id.list)).atPosition(14).perform(click());

当您使用 onData 时,您不需要关心滚动。 Espresso 本身将确保您单击必要的项目。但是您应该指定要单击的项目。您可以在此处查看如何编写 onData 语句的示例(link 已删除,因为它指向恶意软件站点)

onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 20")))
.check(matches(isCompletelyDisplayed()));

上面的代码行将列表滚动到第 20 行,并检查显示第 2 行的元素。