我正在尝试使用espresso执行点击随机列表项。我知道有一种方法可以在指定位置点击适配器,但是如何获得列表大小?
答案 0 :(得分:0)
我知道当我回答这个问题时已经很晚了,但仅供将来参考。 您可以定义类似这样的自定义视图操作
private static final class ScrollToRandomPosition implements ViewAction {
@SuppressWarnings("unchecked") @Override public Matcher<View> getConstraints() {
return allOf(isAssignableFrom(RecyclerView.class), isDisplayed());
}
@Override public String getDescription() {
return "scroll RecyclerView to random position ";
}
@Override public void perform(UiController uiController, View view) {
Random ran = new Random();
uiController.loopMainThreadUntilIdle();
RecyclerView recyclerView = (RecyclerView) view;
recyclerView.scrollToPosition(ran.nextInt(recyclerView.getAdapter().getItemCount()));
}
}
所以你可以在外面调用
public static ViewAction scrollToRandomPosition(){
return new ScrollToRandomPosition();
}