Robotium Tutorial: Ihr erstes Android Unser Ansatz
Herausforderungen in der Robotium?
Robotium ist ein Android-Testframework zur Automatisierung von Testfรคllen fรผr native und hybride Anwendungen. RobotiumDer Entwickler kann einen aussagekrรคftigen automatischen GUI-Testfall erstellen fรผr Android Anwendungen. Darรผber hinaus kรถnnte der Entwickler ein Funktions-, System- und Akzeptanztestszenario schreiben und viele davon verbreiten Android Aktivitรคten.
Robotium Testrahmen
Standard Android Das Test-Framework weist einige Einschrรคnkungen auf (siehe unten).
- Mehrere Aktivitรคten kรถnnen nicht bearbeitet werden
- Die Leistung der Testausfรผhrung ist langsam
- Testfรคlle sind komplex und schwer umzusetzen
RobotiumRahmen ist die bessere Wahl, um Tests durchzufรผhren Android Anwendung
Robotium ist ein Open-Source-Framework und wird als Erweiterung von betrachtet Android Testframework. Verwendung RobotiumEntwickler kรถnnen robuste automatische GUI-Testfรคlle erstellen fรผr Android Anwendungen. Darรผber hinaus kann der Entwickler mehrere Funktions-, System- und Abnahmetestszenarien schreiben Android Aktivitรคten.
.png)
Robotium Testfallklassen
Robotium verwendet eine Reihe von Klassen (com.jayway.android.robotium.solo) zum Prรผfen. Diese Klasse unterstรผtzt Testfรคlle, die sich รผber mehrere Aktivitรคten erstrecken. Solo ist in den ActivityInstrumentationTestCase2 integriert.
.png)
Tester kรถnnen Testfรคlle ohne Kenntnisse des Anwendungsdesigns schreiben (Black-Box-Testing), indem sie Robotium Testfallklassen. Das ist im Vergleich zu Android Testfallklassen.
Anwendung Robotium
So verwenden Sie Robotium in Ihrem Android Um ein Testprojekt zu erstellen, mรผssen Sie die folgenden Schritte ausfรผhren
Die Verwendung von Robotium um Tests durchzufรผhren Android Anwendung. Um die Qualitรคt Ihrer Produkte zu gewรคhrleisten Android Um eine Bewerbung zu erhalten, sollten Sie die nachstehende Vorgehensweise befolgen
- Designtestspezifikation
- Testprogramm entwickeln
- Ausfรผhren Testfall auf dem Zielgerรคt
- Testergebnis sammeln

SCHRITT 1) Designtestspezifikation
- Dies ist der erste Schritt zum Testen Ihrer Anwendung. In diesem Schritt definieren Sie das zu testende Ziel. In deinem Android Bei einer Anwendung mรผssen viele Ziele getestet werden, z. B. Benutzeroberflรคche, Aktivitรคt, Komponenten und Dienste. Wenn Sie das Ziel in Ihrer Anwendung klar definieren, kรถnnen Sie eine breite Testabdeckung erreichen.
- Planen Sie die Testtypen, die durchgefรผhrt werden sollen (Einheitentest, Funktionstest, Systemtest).
- Entwerfen Sie Testfรคlle fรผr maximale Abdeckung, aber minimieren Sie die Anzahl der Testfรคlle. Je mehr Code getestet wird, desto grรถรer sind die Chancen auf eine frรผhzeitige Fehlererkennung.
SCHRITT 2) Schreiben Sie ein TEST-Programm
In diesem Abschnitt erfahren Sie, wie Sie eine schreiben Android Testprogramm mit Android Juni Test und RobotiumAngenommen, Sie haben bereits ein Android Programmname HalloAndroid. Dieses Programm verfรผgt รผber einige im Folgenden beschriebene Funktionen:
- Zeigen Sie einen Text โHallo Welt!โ an. auf dem Bildschirm.
- Eine Nachricht anzeigen HalloAndroid wenn der Benutzer die Schaltflรคche โStartโ drรผckt

Systemanforderungen
- Android Die Plattform ist bereits vorintegriert JUnit 3.0-Framework.
- Um zu kreieren Android Testprojekt von Eclipse, Ihr Computer muss Folgendes installiert haben:
- Letzte Version Android Plattform (derzeit Android 8.1)
Nutze einfach das herunterladen Eclipse IDE mit integriertem ADT (Android Entwicklerwerkzeuge). Es beinhaltet das Wesentliche Android SDK-Komponenten und eine Version davon Eclipse IDE.
Bei der Robotium Testframework, das Sie herunterladen mรผssen Robotium Bibliothek von Robotium Website.
Erschaffung Android Testprojekt
- Klicken Sie auf Datei -> Neu -> Andere
- Wรคhlen Sie: Android -> Android Testen Sie das Projekt gemรคร der folgenden Abbildung -> Wรคhlen Sie โWeiterโ.

Geben Sie den Namen Ihres Testprojekts ein. Als Namenskonvention sollte Ihr Testprojekt den Namen โHalloโ habenAndroidPrรผfen"
.png)
Wรคhlen Sie die zu testende Zielanwendung aus. In diesem Fall ist dies HalloAndroid Klicken Sie auf Fertig stellen

Erstellen Sie Testsuiten
Basierend auf Ihrer Testspezifikation haben Sie damit begonnen, Testsuiten fรผr Ihr Testprogramm zu erstellen. Sie kรถnnen zwischen verschiedenen Test-Frameworks wรคhlen. In diesem Tutorial wรคhle ich Standard Android Testrahmen AktivitรคtInstrumentationTestCase2Du musst hinzufรผgen Robotium Fรผgen Sie die Bibliotheksdatei einem libs-Verzeichnis in Ihrem Projektordner hinzu, falls Sie sie testen mรถchten. Robotium Framework. (Sie erstellen einen lib-Ordner in Ihrem Projektordner).
Ein Testfall definiert die Vorrichtung zum Ausfรผhren mehrerer Tests. Um einen Testfall zu definieren, mรผssen Sie der folgenden Programmstruktur folgen:
- Implementieren Sie eine Unterklasse von
TestCase. - Definieren Sie Instanzvariablen, die den Zustand des Gerรคts speichern
- Initialisieren Sie den Fixture-Status, indem Sie setUp() รผberschreiben.
- Aufrรคumen nach einem Test durch รberschreiben von tearDown().
.png)
package com.example.helloandroid.test;
import com.example.helloandroid.HelloAndroid;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;
public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> {
private HelloAndroid mActivity;
private TextView mView;
private String resourceString;
private Solo solo;
public HelloAndroidTest () {
// TODO Auto-generated constructor stub
super("com.example.helloandroid",HelloAndroid.class);
}
@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
// super.setUp();
mActivity = this.getActivity();
solo = new Solo(getInstrumentation(),getActivity());
mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2);
resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world);
}
@Override
protected void tearDown() throws Exception {
// TODO Auto-generated method stub
//super.tearDown();
solo.finishOpenedActivities();
}
public void testPrecondition() {
assertNotNull(mView);
}
/* test Target application contains a text display "Hello World!"*/
public void testSearchText() {
assertEquals(resourceString,(String) mView.getText());
}
/* test HelloAndroid Activity on target application is exist*/
public void testCurrentActivity() throws Exception {
solo.assertCurrentActivity("wrong activity", HelloAndroid.class);
}
/* test Application UI contains "Start" button */
/* send event click button to target application */
public void testSearchButton() throws Exception {
boolean found = solo.searchButton("Start");
solo.clickOnButton("Start");
assertTrue(found);
}
}
Testfรคlle hinzufรผgen
- Im selben Paket mit TestSuite erstellen wir TestCase-Klassen
- Um bestimmte Aktivitรคten zu testen, z. B. HalloAndroidErstellen Sie eine Testfallerweiterung ActivityInstrumentationTestCase2Android>
- In dieser Klasse kann der Tester Testaktivitรคten รผber die Methode getActivity() abrufen.
- Sie kรถnnen einen Test fรผr eine Testaktivitรคt frei erstellen, indem Sie eine Methode mit dem Namen โTest + ursprรผnglicher Methodennameโ erstellen.
- Als Testmethode kann der Tester verwenden Android JUnit Funktion zum Vergleichen des tatsรคchlichen Werts und des erwarteten Werts. Diese Methoden werden unten gezeigt.
.png)
Diese oben genannten Testsuiten haben รผberprรผft, dass die Anwendungs-GUI den Text โHello World!โ anzeigen muss und einen Schaltflรคchennamen โStartโ enthรคlt.
SCHRITT 3) Test ausfรผhren
Nachdem Sie mit dem Schreiben Ihres Testprogramms fertig sind, fรผhren Sie den Test mit den folgenden Schritten aus
- Verbinden Android Laden Sie das Gerรคt auf Ihren PC herunter (oder starten Sie den Emulator, falls Sie kein echtes Gerรคt haben).
- Klicken Sie in Ihrer IDE mit der rechten Maustaste auf โAusfรผhren alsโ.Android Gerรคtetest

Sie kรถnnen Tests nicht nur in der IDE ausfรผhren, sondern auch in der Befehlszeile. In diesem Testprogramm ist das Testpaket com.example.helloandroid.test . In Linux Terminal. Sie kรถnnen den folgenden Befehl verwenden, um alle Tests in diesem Paket auszufรผhren:
$ adb shell am instrument -w -e paket com.example.helloandroid.test
SCHRITT 4) Testergebnis abrufen
Nachdem der Test ausgefรผhrt wurde, erhalten Sie Testergebnisse.
In diesem Testprogramm werden 4 Testmethoden ausgefรผhrt. In diesem Fall sind alle Testfรคlle bestanden.
.png)
Falls der Testfall fehlschlรคgt, wird die Ausgabe angezeigt und zeigt Ihnen, welche Testfรคlle fehlgeschlagen sind
.png)
Beispiele fรผr Quellcodes
Dieser Artikel enthรคlt einige Quellen Code Beispiele, die Ihnen helfen, das Tutorial besser zu verstehen und sich das technische Wissen schnell anzueignen.
- HalloAndroid: Anwendung wird getestet.
- HalloAndroidTest: Testprogramm mit Android Testrahmen

.png)