PerformException: Error al realizar 'solo clic'
Tengo un error cuando ejecuto la prueba de espresso android:
Com.google.android.apps.common.testing.ui.espresso.PerformException: Error al realizar 'solo clic' en vista 'con id: es <2131034173>'.
- Java.lang.Exception: La clase de corredor personalizada AndroidJUnit4 debe tener un constructor público con la firma AndroidJUnit4 (clase testClass)
- Espresso 2 en Android, las pruebas intermedias fallan después de no iniciar la actividad bajo prueba mientras las actividades de las pruebas anteriores aún están vivas
- Android Espresso NoMatchingViewException en el cheque
- RunTimeException en Android espresso cuando se selecciona el dial de spinner
- Cómo probar la interfaz de usuario de Android utilizando IdlingResource cuando se utilizan las solicitudes de red de Retrofit
Mi código es fácil:
onView(withId(R.id.btn)).perform(click());
Pero no hay ningún error con este código:
onView(withId(R.id.btn)).check(matches(isDisplayed()));
No puedo encontrar la causa de por qué sucede.
- Android Espresso: el filtrado de prueba no es compatible con la versión dada de JUnit. Actualice la versión de JUnit por lo menos a 4.6
- Android Espresso: ¿Cómo comprobar que el mensaje Toast no se muestra?
- Cargando imagen de forma sincrónica con Glide
- Android Espresso: Ejecución de múltiples pruebas secuencialmente
- Prueba de desplazamiento sin fin RecyclerView con Espresso y RxJava
- Espresso NestedScrollView
- Android Espresso: espera que la actividad termine / empiece
- Espresso + Junit4 - iniciar sesión una vez antes de ejecutar todas las pruebas
El truco es leer el stack-trace completo del error. En el medio, hay una pieza crucial de información como esta:
Caused by: java.lang.RuntimeException: Action will not be performed because the target view does not match one or more of the following constraints: at least 90 percent of the view's area is displayed to the user. Target view: "ImageView{id=2131492903, res-name=button_hamburger, desc=opens the side drawer, visibility=VISIBLE, width=64, height=64, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=true, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=6.0, y=6.0}"
Lo que explica el error en detalle.
Intente cerciorarse de que el teclado suave no esté demostrando. Se puede cerrar fácilmente con el ViewAction de closeSoftKeyboard.
Además, asegúrese de que las animaciones del sistema están deshabilitadas. En Configuración -> Opciones de desarrollo, desactive lo siguiente:
- Escala de animación de ventanas
- Escala de animación de transición
- Escala de duración del animador
Además, esto puede deberse a diálogos ANR de otras aplicaciones.
También ha habido un problema aquí .
Tuve el mismo problema porque el teclado suave se superponía el elemento. Utilicé scrollTo () seguido de click () para resolver el problema.
onView(withId(R.id.btn)) .perform(scrollTo()) .perform(click());
Si lo anterior no funciona, intente agregar primero lo siguiente:
onView(withId(R.id.myEditText)).perform(closeSoftKeyboard());
Si la vista no es visible durante la prueba … use perform(scrollTo())
… Se desplazará y haga clic en acción perfrom.
Ejemplo:
onView(withId(R.id.btn)).perform(scrollTo()).perform(click());
Tengo este mismo problema, pero la causa es:
Caused by: android.support.test.espresso.AppNotIdleException: Looped for 3713 iterations over 60 SECONDS. The following Idle Conditions failed .
No sé dónde está el problema, ya que hace clic en el botón que van a la siguiente actividad, pero parece que todavía está investigando para el botón después
El error
fue causado por bloqueo de subprocesos UI
. Compruebe el target Activity code
, especialmente la función setUp
o init
.
He encontrado el mismo error
, hay un listener
incorrecto en el hilo de interfaz de usuario que siempre se llama. Cuando quito el listener
, el error
podría ser corregido.
- Android: Problema con tipos de archivos aceptables vía bluetooth
- Android ScrollView agrega un relleno adicional en la parte superior e inferior de la vista de imagen infantil