Android 拖放;滴浓咖啡

Android 拖放;滴浓咖啡,android,android-espresso,android-instrumentation,Android,Android Espresso,Android Instrumentation,是否可以通过浓缩咖啡执行拖放操作?我需要向下移动一个视图(直线),以接受自动化测试中的某些条件。您可以使用GeneralSweepAction执行拖放操作 public static ViewAction swipeUp() { return new GeneralSwipeAction(Swipe.FAST, GeneralLocation.BOTTOM_CENTER, GeneralLocation.TOP_CENTER, Press.FINGER); } 您也可以自定

是否可以通过浓缩咖啡执行拖放操作?我需要向下移动一个视图(直线),以接受自动化测试中的某些条件。

您可以使用GeneralSweepAction执行拖放操作

public static ViewAction swipeUp() {  
return new GeneralSwipeAction(Swipe.FAST, GeneralLocation.BOTTOM_CENTER,  
    GeneralLocation.TOP_CENTER, Press.FINGER);  
}

您也可以自定义位置以满足您的要求。

我就是这样做的。你有更多的机会了解你的观点会发生什么。但也可以执行拖放操作

  public static void drag(Instrumentation inst, float fromX, float toX, float fromY,
                            float toY, int stepCount) {
        long downTime = SystemClock.uptimeMillis();
        long eventTime = SystemClock.uptimeMillis();

        float y = fromY;
        float x = fromX;

        float yStep = (toY - fromY) / stepCount;
        float xStep = (toX - fromX) / stepCount;

        MotionEvent event = MotionEvent.obtain(downTime, eventTime,
                MotionEvent.ACTION_DOWN, x, y, 0);
        inst.sendPointerSync(event);
        for (int i = 0; i < stepCount; ++i) {
            y += yStep;
            x += xStep;
            eventTime = SystemClock.uptimeMillis();
            event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, x, y, 0);
            inst.sendPointerSync(event);
        }

        eventTime = SystemClock.uptimeMillis();
        event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, x, y, 0);
        inst.sendPointerSync(event);
        inst.waitForIdleSync();
    }
公共静态无效阻力(仪表安装、浮动FROM X、浮动toX、浮动FROM Y、,
浮动玩具,整数步数){
长时间停机=SystemClock.uptimeMillis();
long eventTime=SystemClock.uptimeMillis();
浮动y=fromY;
float x=fromX;
float yStep=(toY-fromY)/stepCount;
float xStep=(toX-fromX)/stepCount;
MotionEvent=MotionEvent.get(停机时间、事件时间、,
MotionEvent.ACTION_DOWN,x,y,0);
inst.sendPointerSync(事件);
对于(int i=0;i
swipeDown(),swipeUp()不适用于我,因为我需要将圆移动到特定位置。在其他情况下,您的代码对我很有用。谢谢。你怎么称呼这种方法?我想测试一些不同的东西,但它可以作为一个起点。拖动(InstrumentationRegistry.getInstrumentation(),0,100,0,100,20);这个调用引发了一个SecurityException:注入到另一个应用程序需要Injection\u EVENTS权限。这个权限只适用于系统应用程序…我的问题是