【问题标题】:Espresso Android : Cannot scroll and click on a specific item in the list preferenceEspresso Android:无法滚动并单击列表首选项中的特定项目
【发布时间】:2016-03-08 22:16:16
【问题描述】:
Android Espresso 测试:必须点击编号为 14 且在屏幕上不可见的项目。首先需要滚动到这个特定的项目,然后单击。成功地 swipeUp() 一直到底部,但我要单击的项目在屏幕上不可见。有什么帮助吗?尝试了以下它不起作用:
onData(instanceOf(ListPreference.class)).inAdapterView(allOf(withId(android.R.id.list))).atPosition(14).perform(scrollTo());
【问题讨论】:
标签:
listview
automated-tests
robotium
android-testing
android-espresso
【解决方案1】:
请试一试
onData(anything()).inAdapterView(withId(android.R.id.list)).atPosition(14).perform(click());
【解决方案2】:
onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 20")))
.check(matches(isCompletelyDisplayed()));
上面的代码行将滚动列表直到第 20 行并检查第 2 行的元素是否显示。
【解决方案3】:
当你使用 onData 时,你不需要关心滚动。 Espresso 本身将确保您点击必要的项目。但是您应该指定要单击的项目。您可以在此处查看如何编写 onData 语句的示例(链接已删除,因为它指向恶意软件站点)