RCB*_*RCB 2 android android-testing android-espresso android-touch-event
如何使用简单的触摸事件测试视图,例如ACTION_DOWN和ACTION_MOVE?
您可以轻松发送触摸事件.使用此视图操作:
public static ViewAction touchDownAndUp(final float x, final float y) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isDisplayed();
        }
        @Override
        public String getDescription() {
            return "Send touch events.";
        }
        @Override
        public void perform(UiController uiController, final View view) {
            // Get view absolute position
            int[] location = new int[2];
            view.getLocationOnScreen(location);
            // Offset coordinates by view position
            float[] coordinates = new float[] { x + location[0], y + location[1] };
            float[] precision = new float[] { 1f, 1f };
            // Send down event, pause, and send up
            MotionEvent down = MotionEvents.sendDown(uiController, coordinates, precision).down;
            uiController.loopMainThreadForAtLeast(200);
            MotionEvents.sendUp(uiController, down, coordinates);
        }
    };
}
Run Code Online (Sandbox Code Playgroud)
并调用它:
onView(withId(R.id.my_view)).perform(touchDownAndUp(x, y));
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3675 次  |  
        
|   最近记录:  |