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>'.

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.

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.

  • ¿Cómo comprobar el título de la barra de herramientas en la prueba instrumental android?
  • Vista de la raíz compatible con Android Espresso
  • IdlingResource Espresso con RxJava
  • Espresso - haga clic en el texto en la vista de lista
  • Espresso seleccionar niños del diseño incluido
  • Haga clic en los límites / coordenadas
  • Prueba de centrifugadoras dinámicas espresso
  • No se pueden ejecutar pruebas de espresso para Android
  • Prueba de Snackbar con Espresso
  • Android Studio 2.3 no tiene el especificador Test Instrumentation en la interfaz de usuario
  • Espresso - Aserción de un TextView con datos cargados asíncronos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.