Google Espresso java.lang.RuntimeException: No se pudo iniciar intención Intent {act = android.intent.action.MAIN
Soy nuevo en las pruebas de Espresso UI.
Estoy recibiendo este error al ejecutar pruebas (ADT Eclipse IDE).
- Espresso check all in list
- Cómo rotar la actividad, quiero decir: el cambio de orientación de la pantalla con Espresso?
- ¿Cómo obtener una vista desde dentro de Espresso para pasar a un IdlingResource?
- Espresso: Recyclerview scroll to end
- GetActivity () causa RuntimeException: No se pudo iniciar intención Intent act = android.intent.action.MAIN
La aplicación ya está desarrollada y hay un montón de solicitud en curso al iniciar la aplicación. No es posible volver a escribir la aplicación. Pero tengo que encontrar la manera de probar esta interfaz de usuario, incluso si hay algún retraso en la carga de los componentes.
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.xx.android/com.yy.core.android.map.MapActivity } within 45 seconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1390913271702 and and now the last time the queue went idle was: 1390913271767. If these numbers are the same your activity might be hogging the event queue. at com.google.android.apps.common.testing.testrunner.GoogleInstrumentation.startActivitySync(GoogleInstrumentation.java:277) at android.test.InstrumentationTestCase.launchActivityWithIntent(InstrumentationTestCase.java:119) at android.test.InstrumentationTestCase.launchActivity(InstrumentationTestCase.java:97) at android.test.ActivityInstrumentationTestCase2.getActivity(ActivityInstrumentationTestCase2.java:104) at com.gulesider.android.test.UItest.setUp(UItest.java:25) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onStart(GoogleInstrumentationTestRunner.java:167) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1799)
- Tengo un proyecto de biblioteca llamado "Core" – no generará ningún .apk
- También tengo un proyecto Android llamado "AA" que tendrá acceso a "Core". – Esto es AA.apk
- Ahora he creado un proyecto de prueba llamado "UItest"
Manifiesto:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.AA.android.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <instrumentation android:name="com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" android:targetPackage="com.AA.android"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name="com.core.android.map.MapActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <uses-library android:name="android.test.runner" /> </application> </manifest>
Mi prueba:
public class UItest extends ActivityInstrumentationTestCase2<MapActivity> { public UItest() { super(MapActivity.class); } @Override public void setUp() throws Exception { super.setUp(); getActivity(); } public void testSearchBox() { Espresso.onView(ViewMatchers.withId(R.id.menu_button_logo)).perform(ViewActions.click()); } }
- Error de prueba Espresso: AppNotIdleException
- Android: activar un botón
- Espresso prueba pegado / inactivo después de realizar (haga clic ()) en el botón en ViewAnimator
- Android Espresso: longClick () no funciona y se comporta como click ()
- Cómo establecer una calificación específica en RatingBar en Espresso?
- Android Espresso: ¿Cómo puedo probar un Fragmento específico al seguir una actividad a varios fragmentos de arquitectura
- Cómo probar con Espresso un PendingIntent generado por TaskStackBuilder
- ¿Cómo usar Espresso UI Testing for React Native?
Si hay una barra de progreso en ejecución al crear la actividad, obtendrá un error como este. Debe hacer que se detenga la barra de progreso para poder seguir ejecutando la prueba.
Probablemente tiene animación dentro de su actividad, lo que bloquea la ejecución del espresso. Tienes que deshabilitarla: https://code.google.com/p/android-test-kit/wiki/DisablingAnimations
Para Espresso Testing, es muy recomendable desactivar las animaciones del sistema en los dispositivos virtuales o físicos utilizados para las pruebas. Por lo tanto, puede seguir los siguientes pasos para desactivar manualmente las animaciones:
En: Configuración->
Opciones del desarrollador-> Dibujo
- Ventana Animaciones escala a OFF
- Escala de animación de transición a OFF
- Escala de duración del animador a OFF
He experimentado este error al ejecutar pruebas de Espresso en dispositivos 6.0 pero no en dispositivos 5.1.1 o 7.0. Seguí la causa hasta el uso de android: fadeScrollbars dentro de un estilo. La eliminación de este elemento de mi estilo resolvió el problema.
En mi caso una vista personalizada causó este comportamiento. Contenía un Scroller que se desplazaba constantemente. Lamentablemente, no he encontrado una solución para este problema hasta ahora, excepto desactivarlo para las pruebas …
En la primera página usted llamará demasiada petición que tomará tiempo más de 15 segundos, la primera página debe ser muy lightwieght. Simplemente intente crear una nueva página de bienvenida y luego llamar a su página de bienvenida original. Espero que este trabajo para usted.
- Desactivar ocultar una presentación (pantalla secundaria)
- Cómo implementar el almacenamiento en caché ListView en Android