android / android/testing-samples
UiObject2 referring to wrong element
- 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.

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