Test mobile - Framework Robotium
Robotium est un framework de test open-source pour l'écriture automatique de cas de test de boîte grise pour les applications Android. Avec le soutien de Robotium, les développeurs de cas de test peuvent écrire des scénarios de test de fonction, de système et d'acceptation, couvrant plusieurs activités Android.
Robotium peut être utilisé à la fois pour tester des applications où le code source est disponible et des applications où seul le fichier APK est disponible.
Avantages de Robotium
Facile à écrire, code plus court. Temps minimal nécessaire pour écrire des cas de test solides.
Vous pouvez développer des cas de test puissants, avec une connaissance minimale de l'application testée.
Le framework gère automatiquement plusieurs activités Android. La lisibilité des cas de test est grandement améliorée par rapport aux tests d'instrumentation standard.
Chronométrage et retards automatiques.
Suit automatiquement l'activité en cours.
Recherche automatiquement les vues.
Prend automatiquement ses propres décisions (ex: quand faire défiler, etc.)
Aucune modification de la plateforme Android.
L'exécution des tests est rapide.
Les cas de test sont plus robustes en raison de la liaison d'exécution aux composants de l'interface graphique.
S'intègre en douceur avec Maven ou Ant.
Inconvénients de Robotium
Robotium ne peut pas gérer les composants Flash ou Web.
Il ne gère qu'une seule application à la fois.
Il ne peut pas simuler un clic sur le clavier logiciel en utilisant Robotium (besoin d'utiliser 'enterText ()' pour entrer du texte dans un champ EditText)
Robotium ne peut pas interagir avec les notifications de la barre d'état - c'est-à-dire, déroulez la zone de notification et cliquez sur une notification spécifiée.
Peut être un peu lent, en particulier sur des appareils plus anciens.
Comment utiliser Robotium
Step 1- Les prérequis pour utiliser Robotium sont Java SDK (minimum 1.6). Si Java n'est pas installé sur votre système, suivez les étapes ci-dessous.
Téléchargez JDK et JRE depuis Oracle Technology Network
Acceptez le Contrat de License.
Installez JDK et JRE.
Définissez la variable d'environnement comme indiqué dans la capture d'écran ci-dessous.
Step 2- Téléchargez Android Studio depuis Android Studio
- Double-cliquez sur l'exe et exécutez le programme d'installation.
- Continuez avec toutes les options par défaut.
- Définissez ANDROID_HOME.
Step 3 - Installez des images et des outils Android.
- Cliquez sur SDK Manager -
Sélectionnez le package nécessaire. Par exemple, si nous construisons une application pour Android 4.4.2, assurez-vous que les packages suivants sont cochés dans la section Outils -
- Outils du SDK Android rév 22.6.3
- Outils de plate-forme Android rév 19.0.1
- Android SDK Build-tools rev 19.1
Step 4 - Créez des appareils virtuels Android.
- Ouvrez Android Studio et cliquez sur AVD Manager dans la barre d'outils. Les AVD nous permettent de tester et d'exécuter nos applications Android.
Utilisez les paramètres suivants pour un Nexus5 AVD -
- Appareil - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
- Cible - API Google x86 (Google Inc.) - Niveau d'API 19
- (Assurez-vous de sélectionner la cible avec les API Google dans le nom.)
- Processeur - Intel Atom (x86)
- Cochez la case Utiliser le GPU hôte
- Cliquez sur OK
Vous devriez maintenant voir l'AVD que vous avez créé dans AVD Manager, où vous pouvez le démarrer, le supprimer ou en créer un autre!
Step 5- Fichier Robotium Jar Téléchargez le fichier Robotium Jar depuis RobotiumTech
Tester une application avec Robotium
Pour tester une application avec Robotium, suivez les étapes ci-dessous -
Step 1 - Créez un projet de test dans Android Studio nommé «RobotiumTest».
Choisissez toutes les options par défaut jusqu'à ce que vous atteigniez la page principale.
Step 2 - Copiez le fichier jar Robotium dans le dossier Lib du projet.
Step 3 - Ajoutez la dépendance dans le fichier build.gradle sous src dossier.
androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'
Step 4 - Synchronisez le Gradle.
Step 5 - Créez la classe Test comme suit -
package com.example;
import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;
public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{
private Solo solo;
public MyTestClass() {
super(TestActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void testCase() throws Exception {
String vResult="TestExample";
EditText vEditText = (EditText) solo.getView(R.id.edit1);
solo.clearEditText(vEditText);
solo.enterText(vEditText,"TestExample");
solo.clickOnButton("Submit");
assertTrue(solo.searchText(vResult));
TextView textField = (TextView) solo.getView(R.id.txt1);
//Assert to verify result with visible value
assertEquals(vResult, textField.getText().toString());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
Step 6- Enregistrez toutes les modifications. Assurez-vous qu'aucune erreur n'est présente.
Step 7- Maintenant, exécutez le cas de test. Si le scénario de test réussit, vous devriez voir la sortie suivante!