在一个测试用例中正常向下滚动我可以使用这种代码的和平:
onView( withId( R.id.button)).perform( scrollTo(), click());
然而,在这个测试中,我想向下滚动Listview,其中childelements动态加载(我不知道有多少),当视图向下滚动时。有没有像在Robotium中那样滚动到浓咖啡底部的东西?
我的工作:
int [] childCount = getListElements();
for(int i = 0;i<childCount[0];i++) {
onData(anything()).inAdapterView(withId(R.id.ScheduleOrderListViewListView)).atPosition(i).perform(click());
childCount = getListElements();
}
带
public int[] getListElements(){
final int[] counts = new int[1];
onView(withId(R.id.ScheduleOrderListViewListView)).check(matches(new TypeSafeMatcher<View>() {
@Override
public boolean matchesSafely(View view) {
ListView listView = (ListView) view;
counts[0] = listView.getCount();
return true;
}
@Override
public void describeTo(Description description) {
}
}));
return counts;
答案 0 :(得分:0)
您应该使用onData()
与ListView元素进行交互。如果要滚动到底部,只需滚动到最后一项。例如:
onData(instanceOf(ListData.class))
.atPosition(INITIAL_LIST_SIZE - 1)
.perform(scrollTo());