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.

Erweiterte Funktionen von Robotium
Erweiterte Funktionen von Robotium

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.

Robotium Testfallklassen
Integration Robotium und ActivityInstrumentationTestCase2

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

Arbeiten jederzeit weiterbearbeiten kรถnnen. Jede Prรคsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen,  Robotium

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

  1. Designtestspezifikation
  2. Testprogramm entwickeln
  3. Ausfรผhren Testfall auf dem Zielgerรคt
  4. Testergebnis sammeln
Android Anwendung
Android Anwendungstestverfahren Tests Verfahren

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
HalloAndroid Anwendung
HalloAndroid Anwendung

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โ€œ.
Neues Android Testprojekt
Neu erstellen Android Testprojekt

Geben Sie den Namen Ihres Testprojekts ein. Als Namenskonvention sollte Ihr Testprojekt den Namen โ€žHalloโ€œ habenAndroidPrรผfen"

Fรผgen Sie den Namen des Testprojekts basierend auf der Namenskonvention hinzu
Fรผgen Sie den Namen des Testprojekts basierend auf der Namenskonvention hinzu

Wรคhlen Sie die zu testende Zielanwendung aus. In diesem Fall ist dies HalloAndroid Klicken Sie auf Fertig stellen

Wรคhlen Target Anwendung im Test
Wรคhlen Sie die zu testende Zielanwendung aus

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().
Struktur des Testprogramms
Struktur des Testprogramms
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.
Beispielmethoden von Robotium und Android Test-Framework
Beispielmethoden von Robotium und Android Testframework

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
Ausfรผhren eines Testprogramms
Testprogramm ausfรผhren

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.

Testergebnisausgabe im Fall Alle Testfรคlle bestanden
Testergebnisausgabe fรผr den Fall, dass alle Testfรคlle bestanden wurden

Falls der Testfall fehlschlรคgt, wird die Ausgabe angezeigt und zeigt Ihnen, welche Testfรคlle fehlgeschlagen sind

Testergebnisausgabe im Fall, dass alle Testfรคlle fehlgeschlagen sind
Ausgabe der Testergebnisse fรผr den Fall, dass alle Testfรคlle fehlgeschlagen sind

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: