Mobile Testing Plugin
Inhaltsverzeichnis
Einleitung[Bearbeiten]
Mit dem Mobile Plugin können Anwendungen auf Android- und iOS-Geräten getestet werden. Dabei ist es egal, ob reale mobile Endgeräte oder emulierten Geräte verwendet werden. Das Plugin kann zusammen mit dem GUI-Browser verwendet werden, der das Erstellen von Tests unterstützt. Zudem ist damit das Aufzeichnen von Testabläufen möglich.
Zur Verbindung mit den Geräten wird Appium verwendet. Appium ist ein freies Open-Source-Framework zum Testen und Automatisieren von mobilen Anwendungen.
Dieses Dokument bezieht sich auf das Mobile Testing Plugin ab der expecco-Version 2.10. Die Dokumentation für Version 2.9 finden Sie unter Appium Plugin Reference.
Werkzeuge des Mobile Testing Plugins[Bearbeiten]
Verbindungseditor[Bearbeiten]
Mithilfe des Verbindungsdialoges können Sie schnell Verbindungen definieren und aufbauen. Sie erreichen ihn, wenn Sie im GUI-Browser auf Verbinden klicken und dann Mobile Testing auswählen. Der Dialog ist in drei Schritte unterteilt. Im ersten Schritt wählen Sie das Gerät, das Sie verwenden möchten. Falls das Gerät nicht angeschlossen ist, können Sie es mit dem entsprechenden Knopf Android-Gerät eingeben bzw iOS-Gerät eingeben anlegen. Dazu müssen Sie jedoch die benötigten Eigenschaften Ihres Geräts kennen. Wenn keine Liste mit angeschlossenen Elementen angezeigt werden kann, werden stattdessen verschiedene Meldungen angezeigt:
- Keine Geräte gefunden
- expecco konnte keine Android-Geräte finden.
- Um eine Verbindung zu einem Gerät automatisch zu konfigurieren, stellen Sie sicher, dass es
- angeschlossen ist
- eingeschaltet ist
- einen passenden adb-Treiber installiert hat
- für Debugging freigeschaltet ist.
- Keine verfügbaren Geräte gefunden
- expecco konnte keine verfügbaren Android-Geräte finden. Es wurden aber nicht verfügbare gefunden, z.B. mit dem Status "unauthorized".
- Um eine Verbindung zu einem Gerät automatisch zu konfigurieren, stellen Sie sicher, dass es
- angeschlossen ist
- eingeschaltet ist
- einen passenden adb-Treiber installiert hat
- für Debugging freigeschaltet ist.
- Um nicht verfügbare Geräte anzuzueigen, aktivieren Sie\unten diese Option.
- Verbindung verloren
- expecco hat die Verbindung zum adb-Server verloren. Versuchen Sie die Verbindung wieder herzustellen, indem Sie auf den Button klicken.
- Verbindung fehlgeschlagen
- expecco konnte sich nicht mit dem adb-Server\verbinden. Möglicherweise läuft er nicht oder der angegebene Pfad stimmt nicht.
- Überprüfen Sie die adb-Konfiguration in den Einstellungen und versuchen Sie den adb-Server zu starten und eine Verbindung herzustellen indem Sie auf den Knopf klicken.
- Verbinden ...
- expecco verbindet sich mit dem adb-Server. Dies kann einige Sekunden dauern.
- adb-Server starten ...
- expecco startet den adb-Server. Dies kann einige Sekunden dauern.
Laufende Appium-Server[Bearbeiten]
Hier sehen Sie eine Übersicht aller Appium-Server, die von expecco gestartet wurden und auf welchem Port diese laufen. Sie können das Logfile jedes Servers anschauen. Dieses wird beim Beenden des Servers wieder gelöscht. Außerdem können Sie hier auch Server starten und beenden. Verwenden Sie die Eingabefelder zur Konfiguration der Serveradresse. Sie können die Felder auch frei lassen, um die Standardwerte zu verwenden. Bitte beachten Sie, dass Server nur lokal gestartet werden können und der gewählte Port nicht belegt sein darf. Typischerweise werden die ungeraden Portnummern ab 4723 verwendet.
Recorder[Bearbeiten]
Besteht im GUI-Browser eine Verbindung zu einem Gerät, kann der integrierte Recorder verwendet werden, um mit diesem Gerät einen Testabschnitt aufzunehmen. Sie starten den Recorder, indem Sie im GUI-Browser die entsprechende Verbindung auswählen und dann auf den Aufname-Knopf klicken. Für den Recorder öffnet sich ein neues Fenster. Die aufgezeichneten Aktionen werden im Arbeitsbereich des GUI-Browsers angelegt. Daher ist es möglich, das Aufgenommene parallel zu editieren.
- Komponenten des Recorderfensters
- Aktualisieren: Holt das aktuelle Bild und den aktuellen Elementbaum vom Gerät. Dies wird nötig, wenn das Gerät zur Ausführung einer Aktion länger braucht oder sich etwas ohne das Anstoßen durch den Recorder ändert.
- Follow-Mouse: Das Element unter dem Mauszeiger wird im GUI-Browser markiert.
- Highlight-Selected: Das Elements unter dem Mauszeiger wird rot umrandet.
- Show-Bounds: Die Rahmen aller Elemente der Ansicht werden angezeigt.
- Werkzeuge: Auswahl, mit welchem Werkzeg aufgenommen werden soll. Dabei stehen folgende Aktionen zur Verfügung:
- Aktionen auf Elemente:
- Klicken: Kurzer Klick auf das Element über dem der Cursor steht. Zur genaueren Bestimmung, welches Element verwendet wird, benutzen Sie die Funktion Follow-Mouse oder Highlight-Selected.
- Element antippen: Ähnlich zum Klicken, nur dass zusätzlich die Dauer des Klicks aufgezeichnet wird. Dadurch sind auch längere Klicks möglich.
- Text setzen: Ermöglicht das Setzen eines Textes für Eingabefelder.
- Aktionen auf das Gerät:
- Antippen: Löst einen Klick auf die Bildschirmposition aus, bei dem auch die Dauer berücksichtigt wird.
- Wischen: Wischen in einer geraden Linie vom Punkt des Drückens des Mausknopfes bis zum Loslassen. Die Dauer wird ebenfalls aufgezeichnet.
- Erstellen von Testablauf-Bausteinen
- Attribut prüfen:
- Attribut zusichern:
- Die gewählte Aktion bei einem Klick auf die Anzeige ausgelöst. Ist das Auto-Werkzeug ausgewählt, können alle Aktionen durch spezifische Eingabeweise benutzt werden.
- Aktionen auf Elemente:
- Softkeys: Nur unter Android. Simuliert das Drücken der Knöpfe Zurück, Home, Menü und Power.
- Anzeige: Zeigt einen Screenshot des Geräts. Aktionen werden mit der Maus je nach Werkzeug ausgelöst. Wenn eine neue Aktion eingegeben werden kann, hat das Fenster einen grünen Rahmen, sonst ist er rot.
- Fenster an Bild anpassen: Ändert die Größe des Fensters so, dass der Screenshot vollständig angezeigt werden kann.
- Bild an Fenster anpassen: Skaliert den Screenshot auf eine Größe, mit der er die volle Größe des Fensters ausnutzt.
- Ausrichtung anpassen: Korrigiert das Bild, falls dieses auf dem Kopf stehen sollte.
- Skalierung: Ändert die Skalierung des Screenshots.
- Verwendung
Mit jedem Klick im Fenster wird eine Aktion ausgelöst und im Arbeitsbereich des GUI-Browsers aufgezeichnet. Dort können Sie das Aufgenommene abspielen, editieren oder daraus einen neuen Baustein erstellen.
Beispiele[Bearbeiten]
Bei den Demo-Testsuiten für expecco finden Sie auch Beispiele für Tests mit dem Mobile Testing Plugin. Die beginnen jeweils mit dem Buchstaben m.
Appium Demo[Bearbeiten]
Die Testsuite enthält zwei einfache Testpläne: Simple CalculatorTest und Complex Calculator and Messaging Test. Beide Tests verwenden einen Android-Emulator, den Sie vor Beginn starten müssen. Die Apps, die im Test verwendet werden, gehören zur Grundausstattung des Emulators und müssen daher nicht mehr installiert werden. Da sich die Apps unter jeder Android-Version unterscheiden können, ist es wichtig, dass Ihr Emulator unter Android 6.0 läuft. Außerdem muss die Sprache auf Englisch gestellt sein.
- Simple CalculatorTest
- Dieser Test verbindet sich mit dem Taschenrechner und gibt die Formel 2+3 ein. Das Ergebnis des Rechners wird mit dem erwarteten Wert 5 verglichen.
- Complex Calculator and Messaging Test
- Dieser Test verbindet sich mit dem Taschenrechner und öffnet anschließend den Nachrichtendienst. Dort wartet er auf eine einkommende Nachricht von der Nummer 15555215556, in der eine zu berechnende Formel gesendet wird. Die Nachricht wird zuvor über einen Socket beim Emulator erzeugt. Nach dem Eintreffen der Nachricht wird diese vom Test geöffnet und deren Inhalt gelesen. Danach wird wieder der Taschenrechner geöffnet, die erhaltene Formel eingegeben und das Ergebnis gelesen. Anschließend wechselt der Test wieder zum Nachrichtendienst und sendet das Ergebnis als Antwort.
expeccoMobileDemo[Bearbeiten]
Die Testsuite ist Bestandteil des Tutorials zum Mobile Testing Plugin.