unit tutorial test support studio book androidtestimplementation android android-espresso

android - tutorial - PerformException: error al realizar ''solo clic''



test ui android (7)

El error fue causado por el bloqueo del hilo de la UI de UI . Verifique el target Activity code , especialmente la función de setUp o de init .

Me he encontrado con el mismo error , hay un listener incorrecto en el hilo de la interfaz de usuario que siempre se llama. Cuando elimino el listener , el error podría ser arreglado.

Tengo un error cuando ejecuto la prueba de espresso de Android:

com.google.android.apps.common.testing.ui.espresso.PerformException: Error al realizar ''solo clic'' en la vista ''con id: es <2131034173>''.

Mi código es fácil:

onView(withId(R.id.btn)).perform(click());

Pero no hay error con este código:

onView(withId(R.id.btn)).check(matches(isDisplayed()));

No puedo encontrar la causa por la que sucedió.


El truco es leer el seguimiento completo de la pila del error. En el medio, hay una información crucial 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.


Si la vista no está visible durante la prueba ... use perform(scrollTo()) ... Se desplazará y haga clic en la acción.

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 va a la siguiente actividad, pero parece que sigue buscando el botón después de


Trate de asegurarse de que el teclado virtual no se muestra. Se puede cerrar fácilmente con closeSoftKeyboard ViewAction.

Por otra parte, asegúrese de que las animaciones del sistema están deshabilitadas. En Configuración -> Opciones de desarrollo desactiva lo siguiente:

  • Escala de animación de ventana
  • Escala de animación de transición
  • Escala de duración del animador

Además, esto puede deberse a los cuadros de diálogo ANR de otras aplicaciones.

También se ha reportado un problema here .


Tuve el mismo problema porque el teclado suave estaba superponiendo 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 lo siguiente primero:

onView(withId(R.id.myEditText)).perform(closeSoftKeyboard());


Tuve el mismo problema, y ​​lo resolví cambiando la posición del elemento.

No hay ningún elemento en la posición en la que estaba tratando de hacer clic. Intentando hacer clic en la posición 3, pero el elemento está en la segunda posición (Olvidé por completo que el índice comienza desde 0) Por lo tanto, cambié la posición del elemento y ahora funciona perfectamente.