Android: Espresso no espera hasta que se muestre fragmento o actividad para que cada prueba fallara
Sé que hay un montón de preguntas alrededor de esto pero no puedo encontrar nada que me ayude 🙁
Intenté usar Espresso para generar la prueba de interfaz de usuario para una aplicación de Android. Después de superar problemas de dependencia (porque algunas bibliotecas se incluyen dos veces en diferentes versiones como dependencia de otras bibliotecas) todavía no puedo crear pruebas de trabajo …
- ¿Puedo eliminar la aplicación publicada en las pruebas alfa de google play?
- Cómo probar el evento swipe / fling usando jUnit en Android testcase
- Manifiesto y problemas de configuración para conseguir que Robolectric trabaje con Android Studio 1.1.0
- Espresso lanza error al hacer clic en la vista de pantalla completa con Samsuns Galaxy S3
- Prueba de componente en Android App SDLC?
Sé acerca de IdlingResource pero como he leído, espresso espera fuera de la caja hasta que el hilo principal y AsyncTaskPool está inactivo antes de ejecutar cualquier prueba.
Para ponerse en contacto con él creé una aplicación sencilla que contiene dos actividades, una pantalla de inicio y una actividad principal. El splashscreen contiene algo como esto para esperar durante tres segundos antes de iniciar mainActivity
new Handler().postDelayed(new Runnable() { @Override public void run() { finish(); Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class); startActivity(intent); } }, 3000);
También intenté utilizar AsyncTask para esto pero nada parece trabajar correctamente porque cada prueba falla.
La prueba sólo comprueba si un TextView que contiene un texto definido se muestra en la vista mediante:
onView(withText("DummyText")).check(matches(notNullValue()));
Pensé que no sería tan difícil de crear una prueba simple …
Porque tengo que probar contra api> = 16 necesito espresso. Sólo para mí lo compruebo utilizando uiAutomator (sé que es para api> = 18), pero hay esa lógica inteligente para esperar a que algo se muestre ….. y que funciona perfectamente …
- ¿Qué es un buen conjunto de configuraciones de dispositivos para probar la aplicación de Android en un emulador?
- Espresso: Falló la ejecución de instrumentación debido a 'keyDispatchingTimedOut'
- Robolectric 2.1 y Eclipse
- Android Studio Espresso Prueba de error: Empty Test Suite
- ¿Por qué se realiza la primera prueba con Robolectric tomando tanto tiempo?
- Robolectric 3.0 java.lang.NoSuchMethodException en crear actividad
- ¿Por qué no puedo iniciar sesión para probar las cuentas de usuario de Facebook desde la aplicación nativa de Android?
- Pruebas de servicio de Android
¿Cuál es tu regla de actividad? Porque si es SplashScreenActivity, la prueba comenzará inmediatamente y el onView fallará si la vista no está en la pantalla de bienvenida. Intente abrir directamente MainActivity, para probar esa vista. Estoy usando Espresso durante algún tiempo y sé que los métodos @Test comienzan cuando la actividad definida como ActivityTestRule ha terminado de cargar.
Espero que esto ayudó.
¡Buena suerte!
- Java.lang.IllegalStateException: Objeto ya no es administrado por Realm. ¿Se ha eliminado?
- Android y OOP – Variables globales vs heredados Getters en fragmentos