getting started with robotium most popular android application ui testing tool
Robotium ist das Android Test Automation Framework zum Testen von nativen und hybriden Android-Anwendungen . Es bietet eine einfache API zum Schreiben von UI-Automatisierungsskripten. Da jedoch eine Reihe von Tools zum Testen von Android-Anwendungen verfügbar ist, wird Robotium am häufigsten verwendet Android-Test-Tool .
Mit Robotium können Testfälle für Funktions-, System- und Benutzerakzeptanz geschrieben werden. Robotium-Testfälle können sowohl im Android-Emulator als auch auf dem realen Android-Gerät ausgeführt werden.
Weiterführende Literatur => Anfängerleitfaden zum Testen mobiler Anwendungen
Was du lernen wirst:
Erste Schritte mit Robotium
Vorteile von Robotium
- Einfach zu schreiben
- Einfache API (Alle Methoden sind nur in der Solo-Klasse verfügbar)
- Automatische Verzögerungen und Timings
- Sie müssen keinen Code schreiben, wenn Sie von einer Aktivität zu einer anderen Aktivität navigieren.
- Testen Sie native Android-Apps sowie die Hybrid-App.
- Kann mehrere Android-Aktivitäten ausführen.
- Weniger Zeit zum Schreiben von Tests als API ist einfach.
- Testfälle sind aufgrund der Laufzeitbindung an UI-Komponenten robust
- Schnelle Testfallausführung.
- Lässt sich problemlos in Maven und ANT integrieren.
Voraussetzungen
# 1) Laden Sie JAVA herunter und installieren Sie es
- Laden Sie Java von herunter diese Seite .
- Fügen Sie dem PATH Java-Bibliotheken hinzu und setzen Sie JAVA_HOME auf das Stammverzeichnis des Java-Installationsverzeichnisses in Ihrer Umgebung.
# 2) Laden Sie das ADT-Bundle herunter
- Laden Sie das ADT-Bundle von herunter diese Seite .
- Extrahieren Sie die ZIP-Datei des ADT-Bundles und legen Sie sie in einem Ordner ab.
- Setzen Sie ANDROID_HOME auf das Stammverzeichnis des ADT-Bundle-Ordners in Ihrer Umgebung.
Erstellen eines Robotium-Projekts
Nur wenige Schritte zum Erstellen eines Projekts erforderlich,
Schritt 1) Open Eclipse enthält Ihre zu testende Android-Anwendung.
Schritt 2) Klicken Sie mit der rechten Maustaste auf das Android-Projekt -> Android Tools und klicken Sie auf das neue Testprojekt.
Schritt 3) Geben Sie einen Namen für das Testprojekt ein und klicken Sie auf die Schaltfläche Weiter.
Schritt 4) Wählen Sie die zu testende Anwendung als Ziel aus und klicken Sie auf die Schaltfläche Fertig stellen.
Schritt 5) Das Testprojekt wird im Eclipse-Arbeitsbereich erstellt.
Schritt 6) Laden Sie Robotium solo jar von herunter Hier .
Schritt # 7) Klicken Sie im Arbeitsbereich mit der rechten Maustaste auf das Testprojekt. Wechseln Sie zum Erstellungspfad und klicken Sie auf Erstellungspfad konfigurieren.
Schritt # 8) Wechseln Sie zur Registerkarte 'Bibliotheken', klicken Sie auf die Option 'Externe Jars hinzufügen', durchsuchen Sie die heruntergeladene Robotium-JAR-Datei, fügen Sie sie den Bibliotheken hinzu und klicken Sie auf 'OK'.
Schritt 9) Das Robotium Test-Projekt wurde erfolgreich erstellt. Jetzt können wir Klassen unter dem Projekt erstellen und mit dem Schreiben der Testfälle beginnen.
Robotium-Klasse erstellen
# 1) Klicken Sie im Testprojekt mit der rechten Maustaste auf das Paket im Verzeichnis src und erstellen Sie eine neue Klasse.
#zwei) Importieren Sie die Hauptaktivitätsklasse des Robotium-Testprojekts.
Syntax ::
import com.sasi.attendanceproject.Home;
#3) Die neue Klasse erbt Eigenschaften von der ActivityInstrumentationTestCase2-Klasse
public class AttendanceTest extends ActivityInstrumentationTestCase2
(( Hinweis: Hier ist Home die Aktivität, die in der Android-Anwendung getestet werden soll.
# 4) Erstellen Sie eine Instanz für die Solo-Klasse wie unten
private Solo solo;
# 5) Erstellen Sie wie unten beschrieben einen Konstruktor für die Testklasse
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Erstellen Sie die folgenden Methoden setUp und tearDown
installieren Methode wird verwendet, um die Instrumentierung zu initiieren
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Niederreißen Die Methode wird verwendet, um die Aktivität nach Abschluss des Tests zu schließen.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Einige Robotium-Methoden
# 1) assertCurrentActivity (Text, Aktivität)
Diese Methode überprüft, ob die aktuelle Aktivität die Aktivität ist, die als Sendeparameter übergeben wird.
Syntax
solo.assertCurrentActivity('Current Activity', Home.class);
#zwei) clickOnButton (Text)
Diese Methode klickt auf die Schaltfläche mit dem angegebenen Text.
Syntax:
solo.clickOnButton('ADMIN');
#3) clickOnButton (int)
Diese Methode klickt auf die Schaltfläche mit dem angegebenen Index.
Syntax:
solo.clickOnButton(2);
# 4) waitForText (Text)
Diese Methode wartet, bis der Text in der Aktivität angezeigt wird.
Syntax:
solo.waitForText('Creating New Password');
# 5) enterText (int, text)
Diese Methode gibt den Text ein, der als zweiter Parameter an das angegebene Indexbearbeitungsfeld übergeben wird.
Syntax:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
Diese Methode klickt auf das Kontrollkästchen mit dem angegebenen Index.
Syntax:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (int)
Diese Methode klickt auf das Optionsfeld mit dem angegebenen Index.
Syntax:
solo.clickOnRadioButton(1);
# 8) clickOnImage (int)
Diese Methode klickt auf das Bild mit dem angegebenen Index.
Syntax:
solo.clickOnImage(1);
# 9) clearEditText (int)
Diese Methode löscht den Text im Bearbeitungsfeld mit dem angegebenen Index.
Syntax:
solo.clearEditText(0);
# 10) waitForText (Text)
Diese Methode wartet, bis der angegebene Text in der Aktivität angezeigt wird.
Syntax:
solo.waitForText(“Robotium”);
Beispielprogramm
Suchen von Elementen in der Android-Anwendung
Schritt 1) Öffnen Sie Eclipse mit der zu testenden Android-Anwendung.
Schritt 2) Erweitern Sie das Projekt. Gehen Sie zu res? Layoutordner und Doppelklick auf die Aktivitäts-XML-Datei, die Sie automatisieren möchten. Die geplante Aktivität wird im Eclipse-Editor geöffnet.
Schritt 3) Suchen des Schaltflächenelements
- Element nach ID suchen
Klicken Sie auf das Element, das Sie suchen möchten. Im Eigenschaftenfenster auf der rechten Seite finden Sie die ID dieses Elements. (ignoriere @ + id /)
In der obigen Abbildung lautet die ID des Elements btnadmin.
Der entsprechende Robotium-Code zum Auffinden dieser Schaltfläche lautet:
solo.clickOnButton(R.id.btnadmin);
- Element nach Position lokalisieren
Falls die ID nicht verfügbar ist, können Sie das Element anhand der Reihenfolge suchen. Befindet sich die Schaltfläche an der zweiten Position, können Sie die Schaltfläche anhand von finden:
solo.clickOnButton(1);
- Element nach Text suchen
Sie können sogar mit dem auf der Schaltfläche angezeigten Text auf die Schaltfläche klicken.
Solo.clickOnButton(“ADMIN”);
- Suchen des Textfeldelements
Klicken Sie auf ähnliche Weise auf das Textfeld, in das Sie Daten eingeben möchten, und suchen Sie die Position des Textfelds auf der rechten Seite.
Wie öffne ich einen Torrent?
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Suchen eines Optionsfeldelements
Klicken Sie auf das Optionsfeldelement, auf das Sie klicken möchten, und ermitteln Sie die Position des Optionsfelds.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Beispielcode
package com.sasi.attendanceproject.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import com.robotium.solo.By; import com.robotium.solo.Solo; import com.robotium.solo.WebElement; import com.sasi.attendanceproject.Home; public class AttendanceTest extends ActivityInstrumentationTestCase2{ private Solo solo; public AttendanceTest() { super('com.sasi.attendanceproject.Home',Home.class); // TODO Auto-generated constructor stub } public void setUp()throws Exception{ solo=new Solo(getInstrumentation(),getActivity()); } public void testAttendance()throws Exception{ //solo.assertCurrentActivity('Current Activity', Home.class); solo.waitForWebElement(By.id('btnadmin')); solo.clickOnButton('ADMIN'); solo.clickOnButton(0); solo.waitForText('Creating New Password'); solo.enterText(0, 'test'); solo.enterText(1, 'test'); solo.clickOnButton('Okay'); solo.waitForText('Attendance Login'); solo.enterText(0, 'Anitha'); solo.enterText(1, 'test'); solo.clickOnButton('Login'); solo.waitForWebElement(By.id('btnaddnew')); solo.clickOnButton('Add New Details'); solo.waitForText('Enter the Employee Details'); solo.enterText(0, 'Anitha'); solo.enterText(1, '6'); solo.enterText(2, 'Testing Engineer'); solo.clickOnRadioButton(1); solo.clickOnButton('Okay'); solo.waitForWebElement(By.id('tvempID')); System.out.println(solo.getText(0)); } public void tearDown()throws Exception{ solo.finishOpenedActivities();}}
Ausführen des Robotium-Projekts
Von Eclipse:
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Ausführen als -> Android JUnit Test
Von der Eingabeaufforderung:
Schritt 1) CD in Ihr Android-Testprojektverzeichnis
Schritt 2) Führen Sie den folgenden Befehl aus:
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Fazit
- Robotium ist das am häufigsten verwendete Automatisierungstool für Android-Tests.
- Robotium-Testfälle können sowohl auf dem Android Emulator als auch auf dem Real-Gerät ausgeführt werden. Wir müssen keinen bestimmten Konfigurationscode schreiben, um Robotium-Testfälle auf dem Real-Gerät auszuführen.
- Robotium kann auch einfach in das Maven-Projekt geschrieben werden und kann über kontinuierliche Integrationstools ausgeführt werden.
- Daher ist Robotium sehr nützlich beim Schreiben einfacher / einfacher Android Test-Automatisierungsskripte.
Literatur-Empfehlungen => 5 Herausforderungen und Lösungen für mobile Tests
Über den Autor: Dies ist ein Gastbeitrag von Anitha Eswari. Derzeit arbeitet sie als leitende Testingenieurin mit mehr als drei Jahren umfassender Erfahrung im Testen von Web- und Mobilautomation. Sie verfügt über fundierte Kenntnisse in verschiedenen Automatisierungstest-Tools, einschließlich mobiler Test-Tools wie Robotium und Appium.
In unserem nächsten Artikel werden wir mehr darüber diskutieren Selendroid Tutorial.
Literatur-Empfehlungen
- Unterschied zwischen Desktop-, Client-Server-Tests und Web-Tests
- Lernprogramm zum Testen der mobilen Benutzeroberfläche (GUI-Test von iOS- und Android-Apps)
- 11 besten Automatisierungstools zum Testen von Android-Anwendungen (Android App Testing Tools)
- Installieren Sie Ihre Anwendung auf dem Gerät und starten Sie den Test von Eclipse aus
- Lasttests mit LoadUI - Ein kostenloses und Open Source-Lasttest-Tool
- Appium-Tutorial zum Testen von Android- und iOS-Apps für Mobilgeräte
- Tutorial zum Testen von GUI: Ein vollständiges Handbuch zum Testen der Benutzeroberfläche
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)