Je teste mon application Android en utilisant Robotium, mais maintenant je fais face à un problème. Une grande partie de l'interface utilisateur de l'application est manipulée en utilisant la réponse du serveur, c'est-à-dire que l'application communique avec les services Web et reçoit des données. J'ai créé des TextView dynamiquement en utilisant ces données. Maintenant, je peux trouver n'importe quelle vue sur l'activité qui est déjà dans le fichier de mise en page mais le problème est que je n'arrive pas à trouver les vues qui ont été créées dynamiquement en utilisant Robotium?
Réponse
Trop de publicités?Vous avez quelques options pour résoudre cela en fonction de l'accès que vous avez au code.
Si vous avez beaucoup d'accès au code, définissez un ID sur chaque vue que vous créez et de cette façon, vous pouvez utiliser la méthode normale de robotium pour obtenir par ID, pour définir l'ID, faites ce qui suit :
view.setID(123);
Si vous pouvez contrôler le texte que le serveur vous envoie, vous pouvez utiliser la méthode robotium pour cliquer sur du texte :
solo.clickOnText("xxx");
Ou vous pouvez utiliser certaines méthodes de robotium comme getCurrentViews ou getView pour filtrer seulement les vues de texte à l'écran et si vous savez ce qui a été affiché avant la requête, alors tout ce qui est apparu dans le deuxième appel est une nouvelle vue.