Je suis incapable de trouver un élément (UiObject2
) en utilisant UiAutomator dans mon androidTest. J'ai obtenu exemple UIDevice et essayer de trouver l'objet avec ceci:UiAutomator - UiDevice ne peut pas trouverObject par sélecteur (nom du paquet et ID de ressource)
MY_UI_DEVICE.findObject(By.res(CURRENT_PACKAGE, id));
CURRENT_PACKAGE
est le paquet de mon application MY_UI_DEVICE.getCurrentPackageName()
. J'ai essayé aussi avec celui-ci:
MY_UI_DEVICE.wait(Until.findObject(By.res(CURRENT_PACKAGE, id)), 10000);
Je peux voir l'application est en attente pendant 10 secondes sur l'écran de droite (où l'objet désiré persiste), mais après le délai, il ne parvient pas à trouver et test échoue. Il échoue toujours sur l'émulateur (API 23), mais fonctionne rarement bien sur un périphérique réel (API 25). Quand je débogue le code je pouvais voir que manuellement je pouvais obtenir le bon élément en appelant la séquence de getChild(index)
méthodes sur AccessibilityNodeInfo
mais dans l'exécution il échoue encore même l'application attend sur le bon écran où j'attends l'élément spécifique .
Je jouais avec les différentes fonctions de UiDevice, mais aucune de ces fonctions n'a aidé et je n'ai plus d'idées, donc toute aide sera appréciée.
a rencontré le même problème, a résolu le problème en utilisant le nom du paquet retourné par InstrumentationRegistry.getTargetContext(). GetPackageName() – Qasim