android / android/testing-samples

Native NullReferenceException thrown on ByMatcher.java:142 when using Android 4.4.x devices.

Abierto
#134 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
9.3k
Forks
3.6k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi everyone,

I'm trying to include an Android 4 device for my Automation suite, but for some reason I'm seeing NullReference exceptions when interacting with certain textboxes in an app under test but ONLY when using pre-Android 5 devices.

The stack traces I'm seeing are as follows:

`java.lang.NullPointerException
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:142)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:111)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:96)
at android.support.test.uiautomator.UiDevice.findObjects(UiDevice.java:171)`

when using FindObjects method to look for the textbox in question or:

`java.lang.NullPointerException
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:142)
at android.support.test.uiautomator.ByMatcher.findMatches(ByMatcher.java:111)
at android.support.test.uiautomator.ByMatcher.findMatch(ByMatcher.java:72)
at android.support.test.uiautomator.UiDevice.hasObject(UiDevice.java:154)
at android.support.test.uiautomator.Until$2.apply(Until.java:55)
at android.support.test.uiautomator.Until$2.apply(Until.java:52)
at android.support.test.uiautomator.WaitMixin.wait(WaitMixin.java:40)
at android.support.test.uiautomator.WaitMixin.wait(WaitMixin.java:34)
at android.support.test.uiautomator.UiDevice.wait(UiDevice.java:187)`

when using phone.wait(Until.hasObject(By.res(identifier)), timer); for example.

Any clues on how to bypass this issue? I'm not sure if our App developers are doing something strange with these textboxes or early Android versions are just poorly supported by UiAutomator.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo el fallo en un dispositivo con una versión de Android anterior a Android 5 mediante UiDevice.findObjects y wait(Until.hasObject(By.res(identifier))). Después inspecciona ByMatcher.java:142 y sus llamadores para determinar por qué aparece el valor null; se considerará terminado cuando se documente una solución alternativa fiable o se proporcione un fix validado frente a ambas rutas de llamada afectadas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, java
Área
mobile, testing
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.