(Robotium) Barra de acción arriba / botón de inicio haga clic
Utilizo Robotium como la biblioteca para la prueba de Junit para mi aplicación de Android. Escribí algunas pruebas que funcionan bien. Pero cuando intento escribir una prueba para el botón de Inicio / Inicio de ActionBar nativo , falló.
Mi código de prueba es muy simple:
- Android y Robotium - Prueba la actividad que espera un extra?
- Las pruebas existentes de la interfaz de usuario de Android dejaron de funcionar después de cambiar a AndroidJUnitRunner
- Desinstalar la aplicación al realizar la prueba
- Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación
- No se puede conseguir que Robotium funcione en Android Studio
Solo solo = new Solo(getInstrumentation(), getActivity()); ... solo.clickOnActionBarHomeButton(); // I expected it will click the Up/Home button of ActionBar
Esperaba que el código anterior haga clic en el botón Arriba / Inicio de ActionBar nativo, pero se ha producido un error, no estaba sucediendo nada en la barra de acción. ¿¿Por qué??
PS Estoy usando un dispositivo Android 4.2.1.
- Ejecute la prueba Junit utilizando la instrumentación de android en un paquete con clases en orden específico
- Cuchara + TeamCity
- Cómo correctamente mock HttpGet llamada en la prueba de Android
- "La prueba no se ejecutó hasta la finalización." Motivo: 'La instrumentación ejecutada falló debido a' El proceso se estrelló. '' Mientras se ejecutan varios testcases
- BDD Android UI marco de pruebas?
- Interfaz Android robotium pruebas con Teamcity
- La prueba de instrumentación falla al azar con multidexado activado
- ¿Cómo puedo ejecutar una sola prueba con gradle android
Yo uso esta función:
public void clickOnActionBarHomeButton(Solo solo) { View homeView = solo.getView(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? android.R.id.home : R.id.home); solo.clickOnView(homeView); }
Tal vez no es una decisión perfecta, pero funciona.
En nuestro botón de Home
aplicación eventualmente llama a NavUtils.navigateUpFromSameTask
. Cuando usas
solo.clickOnActionBarHomeButton();
Para hacer clic en el botón Home
, no funciona. Sin embargo, he notado que solo.clickOnScreen
hace clic en el botón Home
confiablemente. Así que utilizamos este método en lugar de solo.clickOnActionBarHomeButton
:
protected void clickOnHome() { solo.clickOnScreen(50, 50); //usually hits Home button }
Puede hacer clic en el botón Arriba / Inicio (que es el primer elemento ImageButton en la actividad) mediante el siguiente código:
solo.clickOnImageButton(0); instrumentation.waitForIdleSync();
- Simple servidor udp para android y obtener mensajes múltiples
- ¿Cómo interractar aplicaciones Android con un PI de frambuesa …?