Mobiles Testen - Appium Framework

Appium ist ein Open-Source-Framework für die Testautomatisierung zum Testen von nativen und hybriden Apps sowie mobilen Web-Apps. Es steuert iOS- und Android-Apps mithilfe des WebDriver-Protokolls.

Vorteile von Appium

  • Es ist kostenlos und (meistens) Open Source.

  • Es hat eine sehr gut unterstützte und aktive Google-Gruppe.

  • Es ist in der Selenium 3-Spezifikation enthalten und sollte daher zukunftssicher sein.

  • Es unterstützt sowohl Android als auch iOS.

  • Es muss nichts auf dem Gerät installiert sein - es sind keine Server- oder Codeänderungen erforderlich.

Nachteile von Appium

  • Keine Unterstützung für intelligente Wartezeiten.
  • Unter iOS können Sie jeweils nur einen Test pro Mac ausführen.
  • Eingeschränkte Unterstützung für Gesten.
  • Eingeschränkte Unterstützung für Android <4.1

Wie man Appium benutzt

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

  • Laden Sie JDK und JRE von Oracle JavaSE 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 vom SDK herunter (aufgrund der Größe der Datei dauert es einige Zeit).

  • 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 Level 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- Laden Sie Appium-JAR-Dateien von Appium herunter

Testen Sie eine App mit Appium

Führen Sie die folgenden Schritte aus, um eine App mit Appium 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- Fügen Sie die Appium-Gläser zu Ihrem Projekt hinzu. Klicken Sie auf Projekt → App → Kopieren Sie alle Gläser in lib. Wählen Sie die kopierten Gläser mit Ausnahme von Selenium, Java Client und Junit Jar aus, klicken Sie mit der rechten Maustaste darauf und klicken Sie auf "Als Bibliothek hinzufügen".

Step 3- Klicken Sie in der App auf build.gradle. Sie sehen alle hinzugefügten Bibliotheken, wie im folgenden Screenshot gezeigt.

Step 4 - Erstellen Sie nun eine Java-Klasse wie unten gezeigt -

AppiumDriver driver;
@Before

public void testCaseSetup()throws Exception {
   //service.start();
   //reader.readFile();
	
   DesiredCapabilities cap = new DesiredCapabilities();
	
   cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
   cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
   cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
   cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
	
   driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}

@Test
public void testcase1()throws Exception {
   driver.findElementByID("Example").click();
   Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}

@After
public void testCaseTearDown() {
   driver.quit();
}

Step 5 - Ausführen des Testfalls.

  • Klicken Sie auf Build-Variante und wählen Sie Unit Testing.
  • Starten Sie den Appium-Server mit dem spezifischen Port "4444".
    • Laden Sie das Appium für Windows hier herunter.
    • Doppelklicken Sie auf die EXE-Datei und installieren Sie Appium.
    • Klicken Sie auf das Symbol, um die Benutzeroberfläche aufzurufen.
    • Ändern Sie den Port bei Bedarf wie unten gezeigt.
    • Klicken Sie auf die Schaltfläche Wiedergabe, um den Server zu starten.
  • Schließen Sie das Gerät mit eingeschaltetem USB-Debugging an oder starten Sie einen Emulator.
  • Klicken Sie mit der rechten Maustaste auf die Testklasse und klicken Sie auf "Ausführen".