Robotium Tutorial: Android Testframework mit Beispiel
โก Intelligente Zusammenfassung
Robotium ist ein Open-Source Android Ein Testautomatisierungsframework, das native und hybride Apps รผber ihre Benutzeroberflรคche steuert und es einem Tester ermรถglicht, Funktions-, System- und Akzeptanzszenarien zu skripten, die sich รผber mehrere Bereiche erstrecken. Android Aktivitรคten.

Was ist Robotium?
Robotium ist ein Android Testframework, das Testfรคlle fรผr native und hybride Anwendungen automatisiert. RobotiumEin Entwickler kann robuste automatisierte GUI-Testfรคlle erstellen fรผr Android Ein Entwickler kann auรerdem funktionale, System- und Akzeptanztestszenarien schreiben, die sich รผber mehrere Anwendungen erstrecken. Android Aktivitรคten.
Robotium Test-Framework
Die Standard Android Das Testframework weist die unten aufgefรผhrten Einschrรคnkungen auf.
- Mehrere Aktivitรคten kรถnnen nicht bearbeitet werden
- Die Leistung der Testausfรผhrung ist langsam
- Die Testfรคlle sind komplex und schwer umzusetzen.
Das Robotium Das Framework ist die bessere Wahl fรผr die Durchfรผhrung von Tests auf einem Android Anwendung.
Robotium ist ein Open-Source-Framework und wird als Erweiterung von betrachtet Android Testframework. Verwendung RobotiumEin Entwickler kann robuste automatisierte GUI-Testfรคlle erstellen fรผr Android Darรผber hinaus kann ein Entwickler funktionale, System- und Akzeptanztestszenarien schreiben, die sich รผber mehrere Anwendungen erstrecken. Android Aktivitรคten.
Die folgende Tabelle fasst die erweiterten Funktionen zusammen, die sie voneinander unterscheiden. Robotium aus dem einfachen Instrumentierungsrahmen.
Erweiterte Funktionen von Robotium
Robotium Testfallklassen
Robotium Es wird eine kleine Anzahl von Klassen zum Testen mitgeliefert, und das Beispiel im Artikel importiert die รคltere Version. com.jayway.android.robotium.solo Paket. Diese Klassen unterstรผtzen Testfรคlle, die sich รผber mehrere Aktivitรคten erstrecken, und Solo ist integriert mit ActivityInstrumentationTestCase2.
Hinweis: Strom Robotium Releases legen dieselbe Klasse unter der kรผrzeren Version offen. com.robotium.solo Paket, wรคhrend die Maven-Koordinate erhalten blieb com.jayway.android.robotium:robotium-soloPassen Sie den Import an die JAR-Version an, die Sie dem Projekt tatsรคchlich hinzufรผgen.
Das folgende Diagramm zeigt, wie die Solo-Klasse รผber dem Instrumentierungstestfall angeordnet ist.
Integration von Robotium und ActivityInstrumentationTestCase2
Ein Tester kann Testfรคlle schreiben, ohne Kenntnisse รผber das Anwendungsdesign zu besitzen, was diesen Ansatz zu einer Form von Black-Box-TestDas ist ein herausragender Vorteil gegenรผber dem einfachen Android Testfallklassen.
Anleitung von Robotium
So verwenden Sie Robotium in Ihrem Android Fรผr dieses Testprojekt mรผssen Sie die folgenden Schritte befolgen.
Anwendung Robotium
Um die Qualitรคt Ihrer Android Fรผr die Bewerbung befolgen Sie bitte das unten beschriebene vierstufige Verfahren.
- Entwurf der Testspezifikation
- Entwickeln Sie das Testprogramm
- Fรผhren Sie den Testfall auf dem Zielgerรคt aus.
- Sammeln Sie das Testergebnis
Das folgende Flussdiagramm ordnet diese vier Phasen in der richtigen Reihenfolge an.
Android Anwendungstestverfahren
SCHRITT 1) Entwurf der Testspezifikation
Dies ist der erste Schritt beim Testen Ihrer Anwendung. In diesem Schritt definieren Sie das zu testende Ziel. Android Eine Anwendung hat viele zu testende Ziele, wie z. B. die Benutzeroberflรคche, Aktivitรคten, Komponenten und Dienste. Eine klare Definition der Ziele trรคgt zu einer umfassenden Testabdeckung bei.
- Planen Sie die durchzufรผhrenden Testarten (Komponententest, Funktionstest, Systemtest).
- Gestalte jedes Testfall fรผr maximale Abdeckung wรคhrend der Fahrtping Die Anzahl der Testfรคlle sollte gering sein. Je mehr Code getestet wird, desto hรถher ist die Wahrscheinlichkeit, Fehler frรผhzeitig zu erkennen.
SCHRITT 2) Testprogramm schreiben
Dieser Abschnitt fรผhrt Sie durch das Schreiben eines Android Testprogramm mit Android JUnit Tests und RobotiumAngenommen, Sie haben bereits einen entwickelt Android Programm namens HalloAndroidDieses Programm verfรผgt รผber die unten beschriebenen Funktionen.
- Zeigen Sie den Text โHallo Welt!โ auf dem Bildschirm an.
- Zeige ein Hallo anAndroid Meldung, wenn der Benutzer die Taste โStartโ drรผckt.
Der untenstehende Screenshot zeigt die zu testende Anwendung auf einem Gerรคt.
HalloAndroid Anwendung
Systemanforderungen
- Das Android Die Plattform wird mit einer vorintegrierten JUnit 3-Rahmenwerk, welches ist das
ActivityInstrumentationTestCase2aufbaut. - So erstellen Sie eine Android Testprojekt von EclipseIhre Maschine benรถtigt einen funktionierenden Android SDK-Installation.
- Installieren Sie die aktuelle Android Plattform-SDK anstelle einer festgelegten รคlteren Version.
Die Screenshots in dieser Komplettlรถsung verwenden Eclipse mit dem ADT-Plugin, das zum Zeitpunkt der Erstellung des Beispiels die Standard-Toolchain war. Eclipse ADT wird nicht mehr unterstรผtzt, daher wรผrden Sie auf einem modernen Rechner herunterladen Android Studio stattdessen denselben Testcode innerhalb eines wiederverwenden Gradle Modul.
Bei der Robotium Testframework herunterladen Robotium Bibliothek aus der Robotium Projekt-Seite.
Erstellen Sie ein Android Testprojekt
- Klicken Sie auf Datei -> Neu -> Andere
- Wรคhlen Android -> Android Fรผhren Sie das Testprojekt wie in der Abbildung unten gezeigt durch und wรคhlen Sie dann โWeiterโ.
Erstelle eine neue Android Testprojekt
Geben Sie Ihrem Testprojekt einen Namen. Gemรคร der Namenskonvention sollte das Testprojekt โHalloโ heiรen.AndroidPrรผfen".
Fรผgen Sie den Testprojektnamen gemรคร der Namenskonvention hinzu.
Wรคhlen Sie die zu testende Zielanwendung aus. In diesem Fall ist es Hello.Androidund klicken Sie dann auf โFertig stellenโ.
Wรคhlen Sie die zu testende Zielanwendung aus.
Erstellen Sie Testsuiten
Basierend auf Ihrer Testspezifikation erstellen Sie nun Test-Suites fรผr Ihr Testprogramm. Sie kรถnnen aus verschiedenen Optionen wรคhlen. Softwaretest Frameworks. Dieses Tutorial verwendet die Standard-Frameworks. Android Testrahmen ActivityInstrumentationTestCase2Zum Testen mit Robotium, Ergรคnzen Sie die Robotium Bibliotheksdatei zu einer libs Verzeichnis innerhalb Ihres Projektordners.
Ein Testfall definiert die Testumgebung, die zum Ausfรผhren mehrerer Tests verwendet wird. Um einen Testfall zu definieren, folgen Sie der unten stehenden Programmstruktur.
- Implementieren Sie eine Unterklasse von TestCase.
- Definiere Instanzvariablen, die den Zustand der Fixture speichern.
- Initialisieren Sie den Fixture-Zustand durch รberschreiben von setUp().
- Nach einem Test kann durch รberschreiben der Methode tearDown() aufgerรคumt werden.
Das untenstehende Diagramm รผbertrรคgt diese Struktur auf das Testprogramm, das Sie gleich schreiben werden.
Testprogrammstruktur
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
- Erstellen Sie die TestCase-Klassen im selben Paket wie die Testsuite.
- Um eine bestimmte Aktivitรคt zu testen, zum Beispiel HalloAndroidErstellen Sie einen Testfall, der ActivityInstrumentationTestCase2 erweitert.Android>.
- Innerhalb dieser Klasse ruft der Tester die zu testende Aktivitรคt รผber die Methode getActivity() ab.
- Erstellen Sie beliebig einen Test fรผr die Aktivitรคt, indem Sie eine Methode mit dem Namen โTest + ursprรผnglicher Methodennameโ hinzufรผgen.
- Innerhalb der Testmethode kann der Tester verwenden Android JUnit Funktionen zum Vergleich des Ist-Werts mit dem Soll-Wert. Diese Methoden werden im Folgenden dargestellt.
Die folgende Tabelle listet die in den beiden Frameworks am hรคufigsten verwendeten Assertions- und Interaktionsmethoden auf.
Beispielmethoden von Robotium und der Android Testrahmen
Die obige Testsuite รผberprรผft, ob die GUI der Anwendung den Text โHello World!โ anzeigt und eine Schaltflรคche mit der Bezeichnung โStartโ enthรคlt.
SCHRITT 3) Test ausfรผhren
Nachdem Sie Ihr Testprogramm fertiggestellt haben, fรผhren Sie den Test anhand der folgenden Schritte aus.
- Verbinde ein Android Verbinden Sie das Gerรคt mit Ihrem PC oder starten Sie einen Emulator, falls kein echtes Gerรคt verfรผgbar ist.
- Klicken Sie in Ihrer IDE mit der rechten Maustaste auf das Testprojekt und wรคhlen Sie Ausfรผhren als โ Android Komponententest.
Der untenstehende Screenshot zeigt, wie der Testlauf aus der IDE gestartet wird.
Ausfรผhren des Testprogramms
Neben der Ausfรผhrung des Tests รผber die IDE kann er auch รผber die Kommandozeile ausgefรผhrt werden. In diesem Testprogramm ist das Testpaket com.example.helloandroid.test. Fรผhren Sie in einem Linux-Terminal den folgenden Befehl aus, um alle Tests in diesem Paket auszufรผhren.
$ adb shell am instrument -w -e package com.example.helloandroid.test
SCHRITT 4) Testergebnis abrufen
Nach der Testausfรผhrung werden die Testergebnisse erfasst.
In diesem Testprogramm werden vier Testmethoden ausgefรผhrt. Im folgenden Testlauf wurden alle Testfรคlle erfolgreich abgeschlossen.
Ausgabe des Testergebnisses, wenn alle Testfรคlle erfolgreich waren
Wenn ein Testfall fehlschlรคgt, wird die Ausgabe angezeigt und zeigt Ihnen, welche Testfรคlle fehlgeschlagen sind.
Ausgabe des Testergebnisses bei einem fehlgeschlagenen Testfall
Quelle Code Beispiele
Dieser Artikel enthรคlt Quellcodebeispiele, die Ihnen helfen, dem Tutorial besser zu folgen und die technischen Details schnell zu erfassen.
- HalloAndroid: die zu testende Anwendung.
- HalloAndroidTest: das Testprogramm, das die Android Testframework.
Wenn Sie vergleichen mรถchten Robotium mit den anderen Optionen in diesem Bereich, siehe Testen mobiler Anwendungen Leitfaden, der Appium Lernprogramm und die Zusammenfassung von Testtools fรผr mobile Apps.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)