Mobiles Testen - Robotium Framework
Robotium ist ein Open-Source-Testframework zum Schreiben automatischer Gray-Box-Testfälle für Android-Anwendungen. Mit der Unterstützung von Robotium können Testfallentwickler Funktions-, System- und Abnahmetestszenarien schreiben, die mehrere Android-Aktivitäten umfassen.
Robotium kann sowohl zum Testen von Anwendungen verwendet werden, bei denen der Quellcode verfügbar ist, als auch von Anwendungen, bei denen nur die APK-Datei verfügbar ist.
Vorteile von Robotium
Einfach zu schreibender, kürzerer Code. Minimale Zeit zum Schreiben solider Testfälle.
Sie können leistungsstarke Testfälle mit minimalen Kenntnissen der zu testenden Anwendung entwickeln.
Das Framework verarbeitet mehrere Android-Aktivitäten automatisch. Die Lesbarkeit von Testfällen ist im Vergleich zu Standardinstrumentierungstests erheblich verbessert.
Automatisches Timing und Verzögerungen.
Verfolgt automatisch die aktuelle Aktivität.
Findet automatisch Ansichten.
Trifft automatisch seine eigenen Entscheidungen (z. B. Wann scrollen usw.)
Keine Änderung an der Android-Plattform.
Die Testausführung ist schnell.
Testfälle sind aufgrund der Laufzeitbindung an GUI-Komponenten robuster.
Lässt sich nahtlos in Maven oder Ant integrieren.
Nachteile von Robotium
Robotium kann keine Flash- oder Webkomponenten verarbeiten.
Es wird jeweils nur eine Anwendung verarbeitet.
Das Klicken auf eine Softtastatur mit Robotium kann nicht simuliert werden (Sie müssen 'enterText ()' verwenden, um Text in ein EditText-Feld einzugeben.)
Robotium kann nicht mit Benachrichtigungen in der Statusleiste interagieren. Ziehen Sie also den Benachrichtigungsbereich herunter und klicken Sie auf eine bestimmte Benachrichtigung.
Kann etwas langsam sein, insbesondere auf älteren Geräten.
Verwendung von Robotium
Step 1- Die Voraussetzungen für die Verwendung von Robotium sind Java SDK (mindestens 1.6). Wenn Sie Java nicht auf Ihrem System installiert haben, führen Sie die folgenden Schritte aus.
Laden Sie JDK und JRE vom Oracle Technology Network herunter
Akzeptiere die Lizenzbestimmungen.
Installieren Sie JDK und JRE.
Stellen Sie die Umgebungsvariable wie im folgenden Screenshot gezeigt ein.
Step 2- Laden Sie Android Studio von Android Studio herunter
- Doppelklicken Sie auf die exe und führen Sie das Installationsprogramm aus.
- Fahren Sie mit allen Standardoptionen fort.
- Stellen Sie ANDROID_HOME ein.
Step 3 - Installieren Sie Android-Images und -Tools.
- Klicken Sie auf SDK Manager -
Wählen Sie das gewünschte Paket aus. Wenn wir beispielsweise eine App für Android 4.4.2 erstellen, stellen Sie sicher, dass die folgenden Pakete im Abschnitt Tools überprüft werden.
- Android SDK Tools Version 22.6.3
- Android Platform-tools Version 19.0.1
- Android SDK Build-Tools Version 19.1
Step 4 - Erstellen Sie virtuelle Android-Geräte.
- Öffnen Sie Android Studio und klicken Sie in der Symbolleiste auf AVD Manager. Mit AVDs können wir unsere Android-Apps testen und ausführen.
Verwenden Sie die folgenden Einstellungen für eine Nexus5 AVD -
- Gerät - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
- Ziel - Google APIs x86 (Google Inc.) - API-Ebene 19
- (Stellen Sie sicher, dass Sie das Ziel mit den Google-APIs im Namen auswählen.)
- CPU - Intel Atom (x86)
- Aktivieren Sie das Kontrollkästchen Host-GPU verwenden
- OK klicken
Sie sollten nun die von Ihnen erstellte AVD im AVD-Manager sehen, wo Sie sie starten, löschen oder eine andere erstellen können!
Step 5- Robotium Jar-Datei Laden Sie die Robotium Jar-Datei von RobotiumTech herunter
Testen Sie eine App mit Robotium
Führen Sie die folgenden Schritte aus, um eine App mit Robotium zu testen:
Step 1 - Erstellen Sie im Android Studio ein Testprojekt mit dem Namen "RobotiumTest".
Wählen Sie alle Standardoptionen aus, bis Sie zur Hauptseite gelangen.
Step 2 - Kopieren Sie die Robotium-JAR-Datei in den Lib-Ordner des Projekts.
Step 3 - Fügen Sie die Abhängigkeit in der Datei build.gradle unter hinzu src Mappe.
androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'
Step 4 - Synchronisieren Sie den Gradle.
Step 5 - Erstellen Sie die Testklasse wie folgt: -
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- Speichern Sie alle Änderungen. Stellen Sie sicher, dass keine Fehler vorliegen.
Step 7- Führen Sie nun den Testfall aus. Wenn der Testfall erfolgreich ist, sollten Sie die folgende Ausgabe sehen!