getting started with robotium most popular android application ui testing tool
Robotium est le framework d'automatisation de test Android pour tester des applications Android natives et hybrides . Il fournit une API simple pour écrire des scripts d'automatisation de l'interface utilisateur. Cependant, le nombre d'outils disponibles pour tester les applications Android, Robotium est le plus couramment utilisé Outil de test Android .
Robotium peut être utilisé pour écrire des cas de test d'acceptation fonctionnels, système et utilisateur. Les cas de test Robotium peuvent être exécutés dans l'émulateur Android ainsi que sur l'appareil réel Android.
Lectures complémentaires => Guide du débutant sur les tests d'applications mobiles
Ce que vous apprendrez:
Premiers pas avec Robotium
Avantages de Robotium
- Facile à écrire
- API simple (toutes les méthodes sont disponibles uniquement en classe solo)
- Délais et minutages automatiques
- Pas besoin d'écrire du code lors de la navigation d'une activité à une autre.
- Testez les applications natives Android ainsi que l'application hybride.
- Capable de gérer plusieurs activités Android.
- Moins de temps pour écrire des tests car l'API est simple.
- Les scénarios de test sont robustes, en raison de la liaison d'exécution aux composants de l'interface utilisateur
- Exécution rapide des cas de test.
- S'intègre facilement avec Maven et ANT.
Conditions préalables
# 1) Téléchargez et installez JAVA
- Téléchargez Java depuis cette page .
- Ajoutez des bibliothèques java au PATH et définissez JAVA_HOME sur la racine du répertoire d'installation java dans votre environnement.
# 2) Télécharger le bundle ADT
- Téléchargez le bundle ADT sur cette page .
- Extrayez le zip du bundle ADT et placez-le dans un dossier.
- Définissez ANDROID_HOME sur la racine du dossier de l'ensemble ADT dans votre environnement.
Créer un projet Robotium
Seulement quelques étapes requises pour créer un projet,
Étape 1) Ouvrez Eclipse, contient votre application Android à tester.
Étape 2) Cliquez avec le bouton droit sur le projet Android -> Outils Android et cliquez sur le nouveau projet de test.
Étape 3) Donnez un nom au projet Test et cliquez sur le bouton Suivant.
Étape 4) Sélectionnez l'application sous test comme cible et cliquez sur le bouton Terminer.
Étape # 5) Le projet de test sera créé dans l'espace de travail eclipse.
Étape # 6) Télécharger Robotium solo jar from ici .
Étape # 7) Cliquez avec le bouton droit de la souris sur le projet Test dans l'espace de travail. Allez dans le chemin de construction et cliquez sur Configurer le chemin de construction.
Étape # 8) Passez à l'onglet bibliothèques, cliquez sur l'option «Ajouter des jars externes» et parcourez le fichier jar Robotium téléchargé et ajoutez-le aux bibliothèques et cliquez sur «OK».
Étape # 9) Le projet Robotium Test est créé avec succès. Nous pouvons maintenant créer des classes sous le projet et commencer à écrire les cas de test.
Créer une classe Robotium
#1) Cliquez avec le bouton droit sur le package sous le répertoire src du projet Test et créez une nouvelle classe.
#deux) Importez la classe Activité principale du projet de test Robotium.
Syntaxe :
import com.sasi.attendanceproject.Home;
# 3) La nouvelle classe héritera des propriétés de la classe ActivityInstrumentationTestCase2
public class AttendanceTest extends ActivityInstrumentationTestCase2
( Noter: Ici, Home est l'activité à tester dans l'application Android)
# 4) Créer une instance pour la classe Solo comme ci-dessous
private Solo solo;
# 5) Créez un constructeur pour la classe Test, comme ci-dessous
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Créez des méthodes setUp et tearDown, comme ci-dessous
installer méthode est utilisée pour lancer l'instrumentation
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Abattre est utilisée pour fermer l'activité une fois le test terminé.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Quelques méthodes Robotium
#1) assertCurrentActivity (texte, activité)
Cette méthode vérifie si l'activité actuelle est celle qui est passée en tant que paramètre d'envoi.
Syntaxe
solo.assertCurrentActivity('Current Activity', Home.class);
#deux) clickOnButton (texte)
Cette méthode cliquera sur le bouton avec le texte spécifié.
Syntaxe:
solo.clickOnButton('ADMIN');
# 3) clickOnButton (entier)
Cette méthode cliquera sur le bouton avec l'index spécifié.
Syntaxe:
solo.clickOnButton(2);
# 4) waitForText (texte)
Cette méthode attendra que le texte apparaisse sur l'activité.
Syntaxe:
solo.waitForText('Creating New Password');
# 5) enterText (int, texte)
Cette méthode tapera le texte passé comme deuxième paramètre dans la zone d'édition d'index spécifiée.
Syntaxe:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
Cette méthode cliquera sur la case à cocher avec l'index donné.
Syntaxe:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (entier)
Cette méthode cliquera sur le bouton radio avec l'index donné.
Syntaxe:
solo.clickOnRadioButton(1);
# 8) clickOnImage (entier)
Cette méthode cliquera sur l'image avec l'index donné.
Syntaxe:
solo.clickOnImage(1);
# 9) clearEditText (entier)
Cette méthode effacera le texte dans la zone d'édition avec l'index donné.
Syntaxe:
solo.clearEditText(0);
# dix) waitForText (texte)
Cette méthode attendra que le texte donné apparaisse sur l'activité.
Syntaxe:
solo.waitForText(“Robotium”);
Exemple de programme
Localisation d'éléments dans une application Android
Étape 1) Ouvrez Eclipse contenant l'application Android à tester.
Étape 2) Développez le projet, allez à res? Dossier de mise en page et double-cliquez sur le fichier XML d'activité, que vous souhaitez automatiser. Cela ouvrira l'activité conçue dans l'éditeur d'éclipse.
Étape 3) Élément de bouton de localisation
- Localisation de l'élément par ID
Cliquez sur l'élément que vous souhaitez localiser. Dans le panneau des propriétés de droite, vous pouvez trouver l'ID de cet élément. (ignorer @ + id /)
Dans la figure ci-dessus, l'ID de l'élément est, btnadmin.
Le code Robotium correspondant pour localiser ce bouton est,
solo.clickOnButton(R.id.btnadmin);
- Localisation d'un élément par position
Dans le cas où l'ID n'est pas disponible, vous pouvez localiser l'élément à l'aide de la commande. Si le bouton est en deuxième position, vous pouvez ensuite localiser le bouton en,
solo.clickOnButton(1);
- Localisation d'un élément par texte
Même vous pouvez cliquer sur le bouton en utilisant le texte affiché sur le bouton.
Solo.clickOnButton(“ADMIN”);
- Localisation de l'élément de zone de texte
De la même manière, cliquez sur la zone de texte dans laquelle vous souhaitez saisir des données et recherchez la position de la zone de texte sur le côté droit.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Localisation d'un élément de bouton radio
Cliquez sur l'élément de bouton radio, vous voulez cliquer et découvrez la position du bouton radio.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Exemple de code
package com.sasi.attendanceproject.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import com.robotium.solo.By; import com.robotium.solo.Solo; import com.robotium.solo.WebElement; import com.sasi.attendanceproject.Home; public class AttendanceTest extends ActivityInstrumentationTestCase2{ private Solo solo; public AttendanceTest() { super('com.sasi.attendanceproject.Home',Home.class); // TODO Auto-generated constructor stub } public void setUp()throws Exception{ solo=new Solo(getInstrumentation(),getActivity()); } public void testAttendance()throws Exception{ //solo.assertCurrentActivity('Current Activity', Home.class); solo.waitForWebElement(By.id('btnadmin')); solo.clickOnButton('ADMIN'); solo.clickOnButton(0); solo.waitForText('Creating New Password'); solo.enterText(0, 'test'); solo.enterText(1, 'test'); solo.clickOnButton('Okay'); solo.waitForText('Attendance Login'); solo.enterText(0, 'Anitha'); solo.enterText(1, 'test'); solo.clickOnButton('Login'); solo.waitForWebElement(By.id('btnaddnew')); solo.clickOnButton('Add New Details'); solo.waitForText('Enter the Employee Details'); solo.enterText(0, 'Anitha'); solo.enterText(1, '6'); solo.enterText(2, 'Testing Engineer'); solo.clickOnRadioButton(1); solo.clickOnButton('Okay'); solo.waitForWebElement(By.id('tvempID')); System.out.println(solo.getText(0)); } public void tearDown()throws Exception{ solo.finishOpenedActivities();}}
Exécution du projet Robotium
Depuis Eclipse:
comment puis-je devenir testeur de produits
Cliquez avec le bouton droit sur le projet et sélectionnez Exécuter en tant que -> Test JUnit Android
À partir de l'invite de commande:
Étape 1) Cd dans votre répertoire de projets de test Android
Étape 2) Exécutez la commande suivante,
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Conclusion
- Robotium est l'outil d'automatisation de test Android le plus couramment utilisé.
- Les cas de test Robotium peuvent être exécutés sur l'émulateur Android ainsi que sur l'appareil Real, nous n'avons pas besoin d'écrire de code de configuration spécifique pour exécuter les cas de test Robotium sur l'appareil Real.
- Robotium Peut également être facilement écrit dans le projet Maven, et il peut être exécuté via des outils d'intégration continue.
- Ainsi, Robotium est très utile pour écrire des scripts d'automatisation de test Android faciles / simples.
Lecture recommandée => 5 défis et solutions de test mobile
A propos de l'auteur: Ceci est un billet d'invité par Anitha Eswari. Elle travaille actuellement en tant qu'ingénieur de test senior avec plus de trois ans d'expérience approfondie dans les tests d'automatisation Web et mobile. Elle possède de solides connaissances dans divers outils de test d'automatisation, y compris des outils de test mobiles comme Robotium et Appium.
Dans notre prochain article, nous en discuterons plus sur Tutoriel Selendroid.
lecture recommandée
- Différence entre les tests de bureau, client-serveur et Web
- Tutoriel de test de l'interface utilisateur mobile (test de l'interface graphique des applications iOS et Android)
- 11 meilleurs outils d'automatisation pour tester les applications Android (outils de test des applications Android)
- Installation de votre application sur l'appareil et démarrage des tests à partir d'Eclipse
- Test de charge à l'aide de LoadUI - Un outil de test de charge gratuit et open source
- Tutoriel Appium pour tester les applications mobiles Android et iOS
- Tutoriel de test GUI: un guide de test complet de l'interface utilisateur (UI)
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)