Question

Je souhaite tester la fonctionnalité de partage d'une application mais je n'ai aucune idée de comment gérer la boîte de dialogue Android "Terminer l'action en utilisant" (Facebook, Gmail, etc.)
Quand j'utilise query("*") il renvoie un ensemble vide de champs.
Existe-t-il un moyen de gérer de telles boîtes de dialogue système à l'aide de Calebasse ou tout autre moyen de tester des fonctionnalités telles que le partage ?

J'exécute mes tests sur un appareil physique.

Modifier:S'il n'y a aucun moyen de vérifier si la boîte de dialogue a été ouverte ou non, alors peut-être est-ce possible en utilisant adb shell ou quelque chose comme ça ?

Était-ce utile?

La solution

Ce n'est pas une solution très élégante mais vous pouvez simuler des touches d'écran en utilisant adb.Il y a une réponse qui le couvre ici - simulation du toucher à l'aide d'ADB

Modifier:Ajout de quelques détails sur l'utilisation d'adb pour vider un fichier de tous les éléments de l'interface utilisateur.

Dans le SDK Android du dossier platform/android-L, il existe un outil appelé uiautomater.jar qu'adb peut utiliser pour exécuter des tests (même si je ne l'ai jamais utilisé pour cela) et pour vider un fichier XML des éléments visibles.

adb shell uiautomator dump test.xml

créera le fichier XML (sur l'appareil et non sur votre ordinateur) que vous pourrez ensuite parcourir dans votre code pour rechercher la fenêtre contextuelle souhaitée.Si vous souhaitez interagir avec la fenêtre contextuelle, vous pouvez utiliser les coordonnées indiquées dans le dump XML pour choisir celle que vous souhaitez et utiliser un événement tactile adb pour cliquer dessus.

Ce n'est pas une jolie solution mais j'espère qu'elle ne sera pas trop difficile à intégrer dans vos tests :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top