Robotium-Tutorial: Ihr Erstes Android Unser Ansatz
Was ist das Robotium?
Robotium ist ein Android-Testframework zur Automatisierung von Testfällen für native und hybride Anwendungen. Mit Robotium kann der Entwickler starke automatische GUI-Testfälle 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-Test-Framework
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
Ein RoboterRahmen ist die bessere Wahl, um Tests durchzuführen Android Anwendung
Robotium ist ein Open-Source-Framework und gilt als Erweiterung von Android Testrahmen. Mit Robotium können Entwickler robuste automatische GUI-Testfälle erstellen 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.
Tester können Testfälle ohne Kenntnisse des Anwendungsdesigns schreiben (Black-Box-Testing), indem sie Robotium-Testfallklassen verwenden. Dies ist ein herausragendes Merkmal im Vergleich zu Android Testfallklassen.
So verwenden Sie Robotium
Um Robotium in Ihrem zu verwenden Android Um ein Testprojekt zu erstellen, müssen Sie die folgenden Schritte ausführen
Verwendung von Robotium zur Durchführung von Tests 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 Robotium. Gehen Sie davon aus, dass Sie bereits eine entwickelt haben 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)
Du kannst dich herunterladen Eclipse IDE mit integriertem ADT (Android Entwicklerwerkzeuge). Es beinhaltet das Wesentliche Android SDK-Komponenten und eine Version davon Eclipse IDE.
Für das Robotium-Testframework müssen Sie die Robotium-Bibliothek herunterfahren Robotium-Webseite.
Erstellen 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"
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ätInstrumentationTestCase2. Sie müssen die Robotium-Bibliotheksdatei zu einem libs-Verzeichnis in Ihrem Projektordner hinzufügen, falls Sie mit dem Robotium-Framework testen möchten. (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().
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.
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.
Falls der Testfall fehlschlägt, wird die Ausgabe angezeigt und zeigt Ihnen, welche Testfälle fehlgeschlagen sind
Beispiele für Quellcodes
Dieser Artikel enthält einige Quellcode-Beispiele, die Ihnen helfen, das Tutorial besser zu verstehen und sich schnell technisches Wissen anzueignen
- HalloAndroid: Anwendung wird getestet.
- HalloAndroidTest: Testprogramm mit Android Testrahmen