android / android/testing-samples

UiObject2 referring to wrong element

Abierto
#113 0 comentarios 0 reacciones 0 asignados Ver en GitHub
not sample issue
Lenguaje dominante
Java
Estrellas
9.3k
Forks
3.6k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Referring to previously created `UiObject2` object which is not exist in the screen (in the same activity) pointing to a random element instead of throwing `StaleObjectException`.

Example code snippet:

```
UiObject2 elementInScrollView = mDevice.findObject(By.desc("Auto Complete"));
elementInScrollView.getText();
//returns "Auto Complete"

//scroll down to make sure that "Auto Complete" not present in the screen
mDevice.swipe(100, 400, 100, 50, 100);

elementInScrollView.getText();
//returns some random element text in the screen ex: List

mDevice.pressBack();
elementInScrollView.getText();
//throws `StaleObjectException`
```

Device API Level: 23
AUT: API Demos(Inbuilt app)

I suspect something wrong to `AccessibilityNodeInfo` [here](https://github.com/android/platform_frameworks_base/blob/master/core/java/android/view/accessibility/AccessibilityNodeInfo.java#L772) when `getAccessibilityNodeInfo` called from [UiObject2](https://android.googlesource.com/platform/frameworks/uiautomator/+/android-support-test/src/main/java/android/support/test/uiautomator/UiObject2.java#625)

PFA screenshot for the functional understanding.

![uiobject2 issue](https://cloud.githubusercontent.com/assets/4507565/19114424/8fc47cc2-8b2b-11e6-94d6-3c8925193213.png)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce el comportamiento en API level 23 usando el ejemplo de API Demos y el código existente de UiObject2 y AccessibilityNodeInfo enlazado en el informe. Comprueba por qué un objeto encontrado anteriormente devuelve otro elemento después de desplazarse; se considera completado cuando el objeto ausente lanza StaleObjectException en lugar de devolver texto no relacionado.

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

Evaluación

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.