Pour listviews vous pouvez utiliser la méthode suivante solo.getCurrentListViews()
qui renvoient un certain nombre de vues de la liste sur l'écran en cours, puis itérer à travers ou obtenir d'autres types d'objets (widgets Android) d'eux par exemple, vous devez cliquer sur vues d'image de toutes les listes sur l'écran qui ne vous rediriger vers une autre activité et seulement un changement d'état d'autres objets:
ArrayList<ListView> lw = solo.getCurrentListViews(); // get all list views
// logging to logcat
Log.i("stats", "number of list views on the current screen: " + aLw.size());
if (aLw.size() != 0)
for (ListView l: aLw) {
// Take all image views from list and click each
ArrayList <ImageView> aIw = solo.getCurrentImageViews(l);
Log.i("stats", "list view " + l + " contains " + iw.size() + " image views.");
if (aIw.size() != 0)
for (int i = 0; i < aIw.size();) {
// clicking
solo.clickOnView(aIw.get(i));
Log.i("click", "image view " + i " clicked.");
}
}
Vous pouvez saisir du texte en editText afficher ou obtenir du texte à partir de textViews. Vous pouvez combiner Robotium avec Java et Android API. Par exemple vérifier la visibilité des images sur l'écran à l'aide getVisibility() méthode et en le comparant avec trois grands États View.GONE, View.VISIBLE, View.INVISIBLE. Ou vous pouvez vérifier la connexion en utilisant la méthode Java HttpURLrequest avant l'exécution de vos tests.
Si vous avez la source, vous pouvez prendre des objets de toute disposition connaître son ID! Existe aussi beaucoup de trucs géniaux comme solo.waitForActivity()
, solo.assertMemoryNotLow()
, solo.takeScreenShot()
.
Plus d'exemples sur l'utilisation de Robotium vous pouvez trouver ici en joignant Robotium community.
Vous pouvez détecter les erreurs Robotium en utilisant: try {...} catch (Erreur err) {..} // Ainsi, Robotium ne plante pas votre test. – user643154
Vous pouvez obtenir la vue des parents et cliquez dessus, parfois beaucoup plus grande que l'image ou le texte. J'espère que ça va aider quelqu'un. – zest