Android 在RecyclerView上滑动测试片状

Android 在RecyclerView上滑动测试片状,android,android-espresso,Android,Android Espresso,我有一个带有ItemTouchHelper的RecyclerView,可以左右滑动内部项目-当我通过浓缩咖啡对它们执行swipeLeft()和swipeRight()时,如下所示: onView(withId(R.id.pass_recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition(0,swipeRight())); 但不幸的是,这些测试是不可靠的——在一些设备上它们工作,而在一些设备上它们不工作——有没有可靠的方法

我有一个带有ItemTouchHelper的RecyclerView,可以左右滑动内部项目-当我通过浓缩咖啡对它们执行swipeLeft()和swipeRight()时,如下所示:

onView(withId(R.id.pass_recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition(0,swipeRight()));
但不幸的是,这些测试是不可靠的——在一些设备上它们工作,而在一些设备上它们不工作——有没有可靠的方法来执行这种刷卡操作?我已经尝试过其他边缘模糊因素,但这也不是让它100%起作用的方法

更新: 我对这个问题进行了更多的调试-不知何故,在某些设备上,中间有一个取消事件:

事件_t1={android.view。MotionEvent@830019549128}“MotionEvent{action=action\u DOWN,id[0]=0,x[0]=546.0,y[0]=40.0,toolType[0]=Toolu\u TYPE\u未知,buttonState=0,metaState=0,flags=0x0,edgeFlags=0x0,pointerCount=1,historySize=0,eventTime=788701990,downTime=788701990,deviceId=0,source=0x1002}”

event_t2={android.view。MotionEvent@830019178264}“MotionEvent{action=action\u CANCEL,id[0]=0,x[0]=500.98276,y[0]=40.0,toolType[0]=TOOL\u TYPE\u未知,buttonState=0,metaState=0,flags=0x0,edgeFlags=0x0,pointerCount=1,historySize=1,eventTime=788722868,downTime=788701990,deviceId=0,source=0x1002}”

我在ItemTouchHelper的“公共布尔onInterceptTouchEvent(RecyclerView RecyclerView,MotionEvent事件)”中看到了这一点。
这些是我在那里看到的唯一事件-有趣的是,当激活显示触摸数据的屏幕覆盖时,我看到在~1/10取消后,滑动完成得很好,方法是

可能问题在于默认的滑动左/右实现是使用按压型手指(这意味着16x16 mm)。您可以尝试创建自己的刷卡实现。

请添加失败尝试的日志。可能在某些设备上没有正确显示此recyclerviews否我确实看到了recyclerviews我尝试了所有Press.FINGER、Press.PINPOINT、Press.Thumb-相同的行为-也具有不同的边缘模糊因子-无法以这种方式修复所有设备的此问题