9
votes

Exemples pour le robotium

J'ai trouvé un outil de test d'instrumentation appelé robotium.it est simple et simple pour le test de la boîte noire des applications Android. Nous pouvons l'utiliser comme suit:

    solo.clickOnText("Other");
    solo.clickOnButton("Edit");
    assertTrue(solo.searchText("Edit Window"));
    solo.enterText(1, "Some text for testing purposes")
    solo.clickOnButton("Save");
    assertTrue(solo.searchText("Changes have been made successfully"));
    solo.clickOnButton("Ok");
    assertTrue(solo.searchText("Some text for testing purposes"));


0 commentaires

5 Réponses :


15
votes

Veuillez consulter la page Wiki QA pour une question et des réponses courantes sur ce que Robotium prend en charge: http: //code.google.com/p/robotium/wiki/Questionsandanswers

Veuillez également aller à la page de départ: http://code.google.com / p / robotium / wiki / get_started

Là, vous trouverez un exemple de projet de test que vous téléchargez et regardez pour des idées. Vous pouvez également télécharger le Javadoc à partir de: http://code.google.com/p/robotium / Téléchargements / Liste pour voir quelle fonctionnalité il y a pour le moment.

Pour les didacticiels, veuillez visiter: http://code.google.com/p/robotium / wiki / robotiums

sincèrement, Renas


0 commentaires

2
votes

La méthode SearchText recherche également Listwewsviews. Vous pouvez l'utiliser avec des assertions pour vous assurer que votre liste de liste contient le bon contenu


0 commentaires

1
votes

Pour cliquer sur liste. Si votre activité est un type de liste de lecture, vous pouvez utiliser Clickinlist avec un paramètre qui est l'index de ligne à cliquer. Dans d'autres cas, utilisez ClickinList avec deux paramètres - Index de l'écran ListView et numéro de ligne. Pour webview Si vous chargez une page, vous devez utiliser Willefortex () Mathod pour vérifier le contenu.

Plus d'exemples: http://bitbar.com/ Blog / 54 / Automatisé-UI-Test-Test-Android-Applications-RoboTium


0 commentaires

14
votes

Je peux dire que ce que vous ne pouvez pas faire avec le robotium :)

  1. Test d'activités croisées, Robotium est capable de travailler uniquement avec la même application de certificat, sinon vous obtiendrez une exception d'événements injecter (par exemple, vous ne pouvez pas ne pas cliquer sur le clavier d'écran)

  2. robotium n'a pas de mécanisme pour gérer les alertes attendues / inattendues / POPUS / dialogues. Par exemple, iOS JavaScript Tests a un drapeau booléen très simple et un rappel pour la manipulation d'alertes

  3. Robotium a un gros problème avec les méthodes de défilement automatique (éventuellement actuellement fixe) par exemple si vous recherchez le texte, qui n'est pas affiché, le robotium s'empilera à la fin de la vue de défilement et faire de l'Asssertion ( FAUX) Pour arrêter le défilement

  4. robotium a assesstrice (FALSE) logique pour signaler des problèmes / situations inattendues au lieu de retourner une valeur d'énorme ou booléenne (succès / échec) afin de faire des tests de stress réduits 24/7, vous devez ajouter votre propre Méthodes qui ne feront pas arrêter de tester, il suffit de gérer la méthode de cliquer sur XY 'Valeur de résultat

  5. Vous devrez mettre en œuvre une logique pour cliquer sur les éléments dans la vue Scroll / Liste. En raison des clics de robotium au centre de la vue, vous obtiendrez toujours une exception ou une expérience (FALSERTTRUE (FALSE) lorsque vous essayez de cliquer sur Afficher avec seulement 20% une partie indiquée

    En général Robotium est très cool et serviable et je l'aime beaucoup :) Et je ne peux pas imaginer la vie sans cette grande bibliothèque!


2 commentaires

Vous pouvez attraper des erreurs de robotium en utilisant: Essayez {...} Catch (error err) {..} // Par cette manière, le robotium ne placera pas votre test.


Vous pouvez obtenir une vue parent et cliquer dessus, parfois cela beaucoup plus grand que l'image ou le texte. J'espère que cela aidera quelqu'un.



0
votes
  • Vues LI>

    Pour ListViews Vous pouvez utiliser la méthode suivante Solo.getCurrentListVues () Code> qui renvoient un certain nombre de vues de liste sur l'écran actuel, puis itérer ou obtenir d'autres types d'objets ( widgets Android ) d'eux, par exemple, vous devez cliquer sur Vues em> à partir de toutes les listes de l'écran qui ne vous redirige pas à une autre activité et ne modifiez que l'état d'autres objets: P>

    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."); 
        }
    }
    


0 commentaires