Android 使用浓缩咖啡在随机列表元素上执行单击
我正在尝试使用浓缩咖啡执行随机列表项的单击。我知道有一种方法可以在指定的位置单击适配器,但如何获得列表的大小?我知道在我回答这个问题时已经很晚了,但只是为了将来的参考。 您可以定义如下的自定义视图操作Android 使用浓缩咖啡在随机列表元素上执行单击,android,testing,android-espresso,Android,Testing,Android Espresso,我正在尝试使用浓缩咖啡执行随机列表项的单击。我知道有一种方法可以在指定的位置单击适配器,但如何获得列表的大小?我知道在我回答这个问题时已经很晚了,但只是为了将来的参考。 您可以定义如下的自定义视图操作 private static final class ScrollToRandomPosition implements ViewAction { @SuppressWarnings("unchecked") @Override public Matcher<View> ge
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()));
}
}
adapter.getCount()
。。然后生成0和计数之间的随机数。那么如何使用浓缩咖啡获得适配器?我明白了。。。好的,一种(hacky)方法是在活动中使用公共方法,类似于public int getListSize(){return listSize;}
,然后在测试中可以调用getActivity().getListSize()代码>但是,是的,让您的活动返回适配器的大小不是很优雅。
public static ViewAction scrollToRandomPosition(){
return new ScrollToRandomPosition();
}