Lento o rápido arrastre hacia arriba (scroll) usando robotium
Este mi código para arrastrar hasta la pantalla actual.
int screenWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth(); int screenHeight = getActivity().getWindowManager().getDefaultDisplay().getHeight(); int fromX, toX, fromY, toY = 0; fromX = screenWidth/2; toX = screenWidth/2; fromY = (screenHeight/2) + (screenHeight/3); toY = (screenHeight/2) - (screenHeight/3); int scroll_time = 10000; solo.sleep(5000); // Drag UP solo.drag(fromX, toX, fromY, toY, 40); Log.d(TAG, "Drag 1"); // here default origin (x,y = 0,0) is left upper corner
Aquí scroll está trabajando pero muy lento.
- La prueba de Junit de Android falla con "Sólo el subproceso original que creó una jerarquía de vistas puede tocar sus vistas."
- Tiempo de espera de prueba de robotium entre cada clic
- No puedo conseguir que mi actividad actual
- Excepción de seguridad mientras se prueba wifi en robotium
- Robotium solo waitForCondition
Así que para desplazamiento rápido ¿qué cambios en este código se requiere?
- Flujo desde la instalación hasta el desmontaje en robotio
- ¿Cómo hacer clic en un botón, que se indexa en la posición 10 en ListView - robótica automatización?
- ¿Cómo generar el informe de resultados de la prueba usando robotium?
- Robotium ClickOnButton (int ID) método hace que "junit.framework.AssertionFailedError: botón con índice 2131034130 no está disponible!"
- Puede wifi ser encendido / apagado en caso de prueba a través de robotium
- Robotium_constructor mensaje obsoleto en el método NotepadTest para super
- Anotaciones de prueba de Android con Robotium
- Robotium - personalizar la duración PAUSE en la clase Sleeper
Me enfrenté al mismo problema, lo que hay que hacer es ajustar la siguiente línea de código,
solo.drag(fromX, toX, fromY, toY, 40); //Change 40 to 10
Esto aumentará su velocidad de desplazamiento, cuanto menor sea el número de pasos, más rápido será el desplazamiento!
public class MainActivity extends Activity { int windowwidth; int windowheight; ImageView ima1,ima2; private android.widget.RelativeLayout.LayoutParams layoutParams ; // private android.widget.RelativeLayout.LayoutParams layoutParams ; //private android.widget.RelativeLayout.LayoutParams layoutParams ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); windowwidth = getWindowManager().getDefaultDisplay().getWidth(); windowheight = getWindowManager().getDefaultDisplay().getHeight(); System.out.println("width" +windowwidth); System.out.println("height" +windowheight); ima1 = (ImageView)findViewById(R.id.imageview1); ima1.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { layoutParams = (RelativeLayout.LayoutParams) ima1.getLayoutParams(); switch(event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: int x_cord = (int) event.getRawX(); int y_cord = (int) event.getRawY(); System.out.println("value of x" +x_cord); System.out.println("value of y" +y_cord); if (x_cord > windowwidth) { x_cord = windowwidth; } if (y_cord > windowheight) { y_cord = windowheight; } layoutParams.leftMargin = x_cord-25; layoutParams.topMargin = y_cord-25; // layoutParams.rightMargin = x_cord-25; // layoutParams.bottomMargin = y_cord-25; ima1.setLayoutParams(layoutParams); break; default: break; } return true; } }); ima2 = (ImageView)findViewById(R.id.imageview2); ima2.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { layoutParams = (RelativeLayout.LayoutParams) ima2.getLayoutParams(); switch(event.getActionMasked()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: int x_cord = (int) event.getRawX(); int y_cord = (int) event.getRawY(); System.out.println("value of x1" +x_cord); System.out.println("value of y1" +y_cord); if (x_cord > windowwidth) { x_cord = windowwidth; } if (y_cord > windowheight) { y_cord = windowheight; } layoutParams.leftMargin = x_cord - 25; layoutParams.topMargin = y_cord - 75; ima2.setLayoutParams(layoutParams); break; default: break; } return true; } }); } }
Ver este es el uso de Android completo Arrastrar y soltar imágenes en la pantalla?