Mobiles Testen - Robotium Framework

Robotium ist ein Open-Source-Testframework zum Schreiben automatischer Gray-Box-Testfälle für Android-Anwendungen. Mit der Unterstützung von Robotium können Testfallentwickler Funktions-, System- und Abnahmetestszenarien schreiben, die mehrere Android-Aktivitäten umfassen.

Robotium kann sowohl zum Testen von Anwendungen verwendet werden, bei denen der Quellcode verfügbar ist, als auch von Anwendungen, bei denen nur die APK-Datei verfügbar ist.

Vorteile von Robotium

  • Einfach zu schreibender, kürzerer Code. Minimale Zeit zum Schreiben solider Testfälle.

  • Sie können leistungsstarke Testfälle mit minimalen Kenntnissen der zu testenden Anwendung entwickeln.

  • Das Framework verarbeitet mehrere Android-Aktivitäten automatisch. Die Lesbarkeit von Testfällen ist im Vergleich zu Standardinstrumentierungstests erheblich verbessert.

  • Automatisches Timing und Verzögerungen.

  • Verfolgt automatisch die aktuelle Aktivität.

  • Findet automatisch Ansichten.

  • Trifft automatisch seine eigenen Entscheidungen (z. B. Wann scrollen usw.)

  • Keine Änderung an der Android-Plattform.

  • Die Testausführung ist schnell.

  • Testfälle sind aufgrund der Laufzeitbindung an GUI-Komponenten robuster.

  • Lässt sich nahtlos in Maven oder Ant integrieren.

Nachteile von Robotium

  • Robotium kann keine Flash- oder Webkomponenten verarbeiten.

  • Es wird jeweils nur eine Anwendung verarbeitet.

  • Das Klicken auf eine Softtastatur mit Robotium kann nicht simuliert werden (Sie müssen 'enterText ()' verwenden, um Text in ein EditText-Feld einzugeben.)

  • Robotium kann nicht mit Benachrichtigungen in der Statusleiste interagieren. Ziehen Sie also den Benachrichtigungsbereich herunter und klicken Sie auf eine bestimmte Benachrichtigung.

  • Kann etwas langsam sein, insbesondere auf älteren Geräten.

Verwendung von Robotium

Step 1- Die Voraussetzungen für die Verwendung von Robotium sind Java SDK (mindestens 1.6). Wenn Sie Java nicht auf Ihrem System installiert haben, führen Sie die folgenden Schritte aus.

  • Laden Sie JDK und JRE vom Oracle Technology Network herunter

  • Akzeptiere die Lizenzbestimmungen.

  • Installieren Sie JDK und JRE.

  • Stellen Sie die Umgebungsvariable wie im folgenden Screenshot gezeigt ein.

Step 2- Laden Sie Android Studio von Android Studio herunter

  • Doppelklicken Sie auf die exe und führen Sie das Installationsprogramm aus.
  • Fahren Sie mit allen Standardoptionen fort.
  • Stellen Sie ANDROID_HOME ein.

Step 3 - Installieren Sie Android-Images und -Tools.

  • Klicken Sie auf SDK Manager -
  • Wählen Sie das gewünschte Paket aus. Wenn wir beispielsweise eine App für Android 4.4.2 erstellen, stellen Sie sicher, dass die folgenden Pakete im Abschnitt Tools überprüft werden.

    • Android SDK Tools Version 22.6.3
    • Android Platform-tools Version 19.0.1
    • Android SDK Build-Tools Version 19.1

Step 4 - Erstellen Sie virtuelle Android-Geräte.

  • Öffnen Sie Android Studio und klicken Sie in der Symbolleiste auf AVD Manager. Mit AVDs können wir unsere Android-Apps testen und ausführen.
  • Verwenden Sie die folgenden Einstellungen für eine Nexus5 AVD -

    • Gerät - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Ziel - Google APIs x86 (Google Inc.) - API-Ebene 19
    • (Stellen Sie sicher, dass Sie das Ziel mit den Google-APIs im Namen auswählen.)
    • CPU - Intel Atom (x86)
    • Aktivieren Sie das Kontrollkästchen Host-GPU verwenden
    • OK klicken
  • Sie sollten nun die von Ihnen erstellte AVD im AVD-Manager sehen, wo Sie sie starten, löschen oder eine andere erstellen können!

Step 5- Robotium Jar-Datei Laden Sie die Robotium Jar-Datei von RobotiumTech herunter

Testen Sie eine App mit Robotium

Führen Sie die folgenden Schritte aus, um eine App mit Robotium zu testen:

Step 1 - Erstellen Sie im Android Studio ein Testprojekt mit dem Namen "RobotiumTest".

Wählen Sie alle Standardoptionen aus, bis Sie zur Hauptseite gelangen.

Step 2 - Kopieren Sie die Robotium-JAR-Datei in den Lib-Ordner des Projekts.

Step 3 - Fügen Sie die Abhängigkeit in der Datei build.gradle unter hinzu src Mappe.

androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'

Step 4 - Synchronisieren Sie den Gradle.

Step 5 - Erstellen Sie die Testklasse wie folgt: -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Speichern Sie alle Änderungen. Stellen Sie sicher, dass keine Fehler vorliegen.

Step 7- Führen Sie nun den Testfall aus. Wenn der Testfall erfolgreich ist, sollten Sie die folgende Ausgabe sehen!