Test mobile - Robotium Framework
Robotium è un framework di test open source per la scrittura di casi di test gray-box automatici per le applicazioni Android. Con il supporto di Robotium, gli sviluppatori di casi di test possono scrivere scenari di test di funzioni, sistemi e test di accettazione, coprendo più attività Android.
Robotium può essere utilizzato sia per testare applicazioni in cui è disponibile il codice sorgente sia per applicazioni in cui è disponibile solo il file APK.
Vantaggi di Robotium
Facile da scrivere, codice più breve. Tempo minimo necessario per scrivere casi di test solidi.
È possibile sviluppare potenti casi di test, con una conoscenza minima dell'applicazione sottoposta a test.
Il framework gestisce automaticamente più attività Android. La leggibilità dei casi di test è notevolmente migliorata rispetto ai test di strumentazione standard.
Tempi e ritardi automatici.
Segue automaticamente l'attività corrente.
Trova automaticamente le visualizzazioni.
Prende automaticamente le proprie decisioni (es: quando scorrere, ecc.)
Nessuna modifica alla piattaforma Android.
L'esecuzione del test è veloce.
I casi di test sono più robusti grazie all'associazione in fase di esecuzione ai componenti della GUI.
Si integra perfettamente con Maven o Ant.
Inconvenienti di Robotium
Robotium non può gestire componenti Flash o Web.
Gestisce solo un'applicazione alla volta.
Non può simulare il clic sulla tastiera virtuale utilizzando Robotium (è necessario utilizzare 'enterText ()' per inserire il testo in un campo EditText)
Robotium non può interagire con le notifiche della barra di stato, ovvero aprire l'area di notifica e fare clic su una notifica specificata.
Può essere un po 'lento, soprattutto in esecuzione su dispositivi meno recenti.
Come usare Robotium
Step 1- I prerequisiti per utilizzare Robotium è Java SDK (minimo 1.6). Se non hai Java installato sul tuo sistema, segui i passaggi indicati di seguito.
Scarica JDK e JRE da Oracle Technology Network
Accetta il contratto di licenza.
Installa JDK e JRE.
Imposta la variabile d'ambiente come mostrato nello screenshot qui sotto.
Step 2- Scarica Android Studio da Android Studio
- Fare doppio clic sull'exe ed eseguire il programma di installazione.
- Continua con tutte le opzioni predefinite.
- Imposta ANDROID_HOME.
Step 3 - Installa immagini e strumenti Android.
- Fare clic su SDK Manager -
Seleziona il pacchetto necessario. Ad esempio, se stiamo creando un'app per Android 4.4.2, assicurati che i seguenti pacchetti siano selezionati nella sezione Strumenti:
- Strumenti Android SDK rev 22.6.3
- Strumenti della piattaforma Android rev 19.0.1
- Strumenti di build SDK per Android rev 19.1
Step 4 - Crea dispositivi virtuali Android.
- Apri Android Studio e fai clic su AVD Manager nella barra degli strumenti. Gli AVD ci consentono di testare ed eseguire le nostre app Android.
Utilizza le seguenti impostazioni per un Nexus5 AVD:
- Dispositivo: Nexus 5 (4.95, 1080 x 1920; xxhdpi)
- Target: API di Google x86 (Google Inc.) - Livello API 19
- (Assicurati di selezionare il target con le API di Google nel nome.)
- CPU - Intel Atom (x86)
- Seleziona la casella Usa GPU host
- Fare clic su OK
Ora dovresti vedere l'AVD che hai creato in AVD Manager, dove puoi avviarlo, eliminarlo o crearne un altro!
Step 5- File Robotium Jar Scarica il file Robotium Jar da RobotiumTech
Prova un'app con Robotium
Per testare un'app con Robotium, segui i passaggi indicati di seguito:
Step 1 - Creare un progetto di prova in Android Studio denominato "RobotiumTest".
Scegli tutte le opzioni predefinite fino a raggiungere la pagina principale.
Step 2 - Copia il file jar Robotium nella cartella Lib del progetto.
Step 3 - Aggiungi la dipendenza nel file build.gradle sotto src cartella.
androidTestCompile "com.jayway.android.robotium: robotium-solo-5.5.3"
Step 4 - Sincronizza il Gradle.
Step 5 - Crea la classe Test come segue -
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- Salva tutte le modifiche. Assicurati che non siano presenti errori.
Step 7- Ora, esegui il test case. Se il test case ha esito positivo, dovresti vedere il seguente output!