Veröffentlicht: April 1, 2020
Android-Automatisierung: Der vollständige End-to-End-Leitfaden
Erste Schritte mit der mobilen Automatisierung mit Appium
Verwenden der Inspektorsitzung
Grundlegende Automatisierungstesterstellung
Übersicht
Unter mobiler Automatisierung versteht man die auf mobilen Geräten durchgeführte Automatisierung. Im Allgemeinen erfolgt diese Automatisierung weiter Anwendungen das läuft weiter Mobile Geräte.
Dieser Blog konzentriert sich auf die Automatisierung von Anwendungen und behandelt Tools und Technologien, die hauptsächlich in Android-Automatisierungsgeräten verwendet werden.
Werkzeuge und Technologien
Fast 80 % der Mobilgeräte auf dem Markt basieren auf Android. Daher ist es für einen Automatisierungsentwickler von größter Bedeutung, Tools mit den folgenden Funktionen zu verwenden:
- Stabil und einfach zu bedienen.
- Große Entwickler-Community-Basis.
- Unterstützung einer breiten Palette von Programmiersprachen.
Arten von Anwendungen
Bevor wir uns mit Automatisierungstools befassen, klassifizieren wir Anwendungen.
- Native Anwendung – Anwendung, die für eine bestimmte Plattform entwickelt wurde.
- Internetanwendung – Anwendungen, die für die Ausführung im Browser entwickelt wurden (in diesem Fall mobile Browser).
- Hybridanwendung – Anwendungen, die sowohl native als auch Web-Komponenten haben, aber als Anwendung ausgeführt werden.
Im Folgenden sind die beliebtesten verfügbaren mobilen Automatisierungstools aufgeführt:
- Appium
- Espresso
- Ein Roboter
- Selendroid
- UI-Automator
Basierend auf den zuvor genannten Funktionen, Appium ist die beliebteste und bevorzugte Wahl für Mobile Automation für Android-Geräte. Der wichtigste Grund für die bevorzugte Wahl von Appium ist, dass dieselbe Programmiersprache zur Automatisierung von iOS- und Android-Betriebssystemen verwendet werden kann.
Espresso bietet eine hervorragende Leistung bei der Testausführung.
Es kann eine gute Option sein, wenn
- Anwendungsentwickler sind der Meinung, dass Automatisierungstests ein integraler Bestandteil der Entwicklung sind. Dies ermöglicht eine schnelle Implementierung der Automatisierung, da die Entwickler mit der Codebasis und auch der schnellen Ausführungsgeschwindigkeit von Espresso-Tests vertraut sind.
- Wenn die Anwendung nur im Android-Betriebssystem unterstützt wird.
Espresso vs. Appium
[Table id = 55 /]
Appium
Appium ist mit Abstand das am weitesten verbreitete Android-Automatisierungstool, es ist Open Source und plattformübergreifend. Appium wird eigentlich als HTTP-Server mit NodeJS entwickelt.
Grundarchitektur
Die wichtigsten Komponenten des Appium-Tools sind:
- Appium Server – Ein HTTP-Server, der auf die Appium Http-basierten Clients lauscht und seinen UI Automator-Treiber verwendet, um Automatisierungsbefehle in eine Sprache zu übersetzen, die Android-Geräte verstehen können.
- Das Appium-Framework stellt Appium-Clients für verschiedene Sprachen wie Java und Python bereit. Unterstützte Sprachen sind aufgelistet in Appium-Kunden.
- Appium unterstützt verschiedene Treiber zur Automatisierung verschiedener Endplattformen. UIAutomator2-Treiber wird zur Unterstützung des Android-Betriebssystems verwendet.
Kommunikation zwischen Appium-Clients und Appium-Servern
Verwendung von Appium-Client und -Server JSON Wire-Protokoll über HTTP miteinander kommunizieren. Die Kommunikation zwischen Appium-Clients und Appium Server kann komplex sein. Um diese Komplexität zu überwinden, werden die Daten im strukturierten JSON-Format ausgetauscht.
Um die Kommunikation anzustoßen, wird als erster Schritt eine Sitzung erstellt. Gewünschte Fähigkeiten sind Schlüssel-Wert-Paare, die Präferenzen für diese Sitzung darstellen. Diese Präferenzen umfassen obligatorische Informationen (neben anderen optionalen Informationen) wie die Plattformname, Gerätename, Anwendungspfad Das sind die Schlüsselinformationen in der Automatisierung.
Hier ist ein Beispiel für die über das gesendeten Daten JSON-Wire-Protokoll an. Nach der Installation können Sie HEIC-Dateien mit der gewünschte Fähigkeiten um eine Sitzung mit Appium Server einzurichten.
[java]{ „deviceName“: „a3ae1c63“, „platformName“: „Android“, „app“: „C:\Users\example.apk“ }[/java]
Android Studio-Installation
Appium Studio ist die integrierte Entwicklungsumgebung für die Entwicklung einer Android-Anwendung. Es basiert auf JetBrains IntelliJ, das über eine große Entwickler-Community verfügt und auch für die Automatisierung verwendet werden kann UI-Automator als auch Espresso.
Bitte laden Sie die Android Studio-Software herunter
Windows
- Wenn als heruntergeladen ausführbar Datei, doppelklicken Sie darauf und starten Sie sie. Wenn als heruntergeladen Archiv Datei, extrahieren Sie sie in ein Verzeichnis und starten Sie sie studio.exe in England, /android-studio/bin
- Folgen Sie dem Setup-Assistenten und installieren Sie während der Installation alle empfohlenen SDK-Pakete.
Download Mac
- Starten Sie die Android Studio DMG-Datei
- Ziehen Sie Android Studio per Drag-and-Drop in den Anwendungsordner und starten Sie dann Android Studio.
- Wählen Sie aus, ob Sie frühere Android Studio-Einstellungen importieren möchten, und klicken Sie dann auf OK.
- Folgen Sie dem Setup-Assistenten und installieren Sie während der Installation alle empfohlenen SDK-Pakete
- Detaillierte Anweisungen finden Sie auf der offiziellen Seite of Android Studio.
Appium Server installieren
Appium-Server
Appium Server kann auf zwei im Folgenden erläuterte Arten installiert werden.
Verwenden von NPM
- Knoten herunterladen
- Doppelklicken Sie auf die heruntergeladene Datei und befolgen Sie die Schritte im Assistenten, um die Installation von Node abzuschließen.
- Sobald NodeJS installiert ist, führen Sie Folgendes aus: npm install -g appium
- Um Appium Server auszuführen, führen Sie Folgendes aus: Appium
Verwenden von Appium Desktop
- Laden Sie den Appium Desktop herunter
- Starten Sie den Installer der Plattform Ihrer Wahl und folgen Sie dem Setup-Assistenten.
- Führen Sie die Appium-Desktop Auf dem Computer installiert ist, wird dadurch auch der Appium-Server gestartet.
Ausführliche Anweisungen zur Installation finden Sie beim Beamten Seite von Appium.
Appium-Kunden
Appium-Kunden Diese eigentlich Bibliotheken, die Appium für verschiedene unterstützte Sprachen bereitstellt. Es ist keine Installation erforderlich, diese Bibliotheken müssen von den Testentwicklern in ihren Tests verwendet werden.
Erste Schritte mit der mobilen Automatisierung mit Appium
In diesem Abschnitt wird erläutert
- Erste Schritte mit der grundlegenden Testerstellung mit IntelliJ mit Java als Programmiersprache und der Appium Java Client-Bibliothek.
- Führen Sie den entwickelten Test gegen Appium Server aus.
Voraussetzungen:
Dieser Abschnitt muss als Voraussetzung befolgt werden
- Installation von Android Studio mit SDK, weil ADB wird als Teil des Android SDK installiert.
- Installation der IntelliJ 2019-Version
- Die neueste Version von Java
- Laden Sie eine Beispielanwendung für die Android-Automatisierung mit dem Namen herunter Eribank über den Link https://experitest.s3.amazonaws.com/eribank.apk
Erkennung von Android-Geräten
Bevor wir mit der Appium- und Mobile-Automatisierung fortfahren, ist es wichtig, dass Ihr PC das Android-Gerät erkennt. Dazu muss das Gerät an den PC angeschlossen und der Entwicklermodus/USB-Debugging aktiviert sein.
- Verbinden Sie das Gerät über ein USB-Kabel mit dem PC.
- Navigieren Sie im Android-Gerät zuEinstellungen> Über das Telefon und klicken auf 'Build-Nummer', bis Sie Entwickler werden.
- Sobald Sie sich im Entwicklermodus befinden, müssen Sie das USB-Debugging aktivieren, indem Sie zu navigieren Einstellungen > System > Entwickleroptionen > USB-Debugging. Siehe den Screenshot unten.

Hinweis: Das USB-Debugging Die Option kann sich je nach Android-Version ändern. Die oben genannten Schritte gelten für Android 10.
Sobald diese Schritte abgeschlossen sind, wird die ADB Das Dienstprogramm muss verwendet werden, um das verbundene Android-Gerät aufzulisten.
- Öffnen Sie die Eingabeaufforderung
- Navigieren Sie zum Android SDK-Pfad „Plattform-Tools“.
- Führen Sie den Befehl ADB-Geräte aus. Sie sollten den Gerätenamen erhalten.

Hinweis: Der von diesem Befehl erhaltene Gerätename (a3ae1c63) muss später in der Mobile Automation-Sitzung (im manuellen oder Automatisierungstest) verwendet werden.
Appium Server starten
In diesem Abschnitt werden wir verwenden Appium-Desktop zum Ausführen des Appium Servers. Appium Desktop ist ein hervorragendes Dienstprogramm, mit dem Sie einen Appium-Server ausführen und eine Inspector-Sitzung starten können, um die Anwendung manuell zu laden und die Standortelemente der Anwendung unter Automatisierung herauszufinden.
Um Appium Server zu starten,
- Starten Sie den installierten Appium Server auf Ihrem Computer (Beispiel: In Windows über das Startmenü „Programme“).
- Klicken Sie auf die Schaltfläche „Server starten“.

- Dadurch wird Appium Server (localhost:4723) gestartet, wie im Screenshot unten gezeigt. Notiz Starten Sie die Inspektorsitzung um die Inspektorsitzung zu starten.

Verwenden der Inspektorsitzung
Inspektor-Dienstprogramm von Appium kann verwendet werden, um eine manuelle Sitzung zu erstellen und dann die Elementpositionskennungen zu finden
Starten Sie das Inspector-Dienstprogramm über das Appium-Menü, wie oben im Abschnitt „Appium Server starten“ gezeigt.

Geben Sie das Pflichtfeld an Gewünschte Fähigkeiten wie oben gezeigt und klicken Sie Sitzung starten.
Sobald Sie auf „Sitzung starten“ klicken, wird eine Sitzung mit Appium Server eingerichtet, der an das angegebene Gerät in der Funktion „Gerätename“ vermittelt. Appium Server installiert die in der „App“-Funktion angegebene Anwendung und das Inspector-Dienstprogramm zeigt die Anwendung an.
Mit dem Inspektor-Dienstprogramm können Sie auf jedes Element in der Anwendung klicken und alle mit dem Element verbundenen Eigenschaften anzeigen, die zum Auffinden des Elements zur Laufzeit verwendet werden können. Sehen Sie sich den Screenshot unten an. Das Element „Benutzername“ ist ausgewählt und alle Attribute dieses Elements werden im rechten Bereich angezeigt.
Bitte durchgehen Elemente in Appium finden um mehr über das Auffinden von Elementen in Appium zu erfahren.
In diesem Fall kann beispielsweise das Element „Benutzername“ mithilfe von gefunden werden xpath Syntax:
[java]//*[@text='Benutzername'][/java]
Grundlegende Automatisierungstesterstellung

Erstellen Sie ein einfaches Gradle-Java-Projekt
Starten Sie IntelliJ und klicken Sie Neues Projekt erstellen

Auswählen Gradle als auch Javac im nächsten Bildschirm und Klicken Sie auf Weiter

Ergänze Projekt Details (GroupId und ArtifactId) und klicken Sie Weiter

Klicken Sie auf Weiter in diesem Bildschirm (unter Beibehaltung der Standardauswahl)

Klicken Sie auf Farbe in diesem Bildschirm (unter Beibehaltung der Standardauswahl)

Mit diesen Schritten wird ein grundlegendes Gradle-Projekt in IntelliJ erstellt.
Gradle-Abhängigkeit
Für eine erfolgreiche Kompilierung benötigt das Projekt die Appium-Client-Bits als auch TestNG (Weit verbreitetes Java-Test-Framework).
Um dies zu erreichen, öffnen Sie build.gradle und aktualisieren Sie das Feld „Abhängigkeiten“ wie folgt und speichern Sie die Datei.
[Java]Abhängigkeiten { Kompilierungsgruppe: 'org.testng', Name: 'testng', Version: '+' Kompilierungsgruppe: 'io.appium', Name: 'java-client', Version: '+' }[/ Java]

Dadurch werden alle Abhängigkeiten (Appium Java Client und TestNG-Testframework-Bibliotheken) in das Projekt heruntergeladen.
Testautoren
Erstellen Sie ein Java-Paket mit dem Namen „test“

Erstellen Sie eine Java-Klasse mit dem Namen EribankTest.java unter dem Paket „test“.

Fügen Sie die folgende Setup-Funktion in EribankTest.java ein
[java]@BeforeTest public void setUp() throws MalformedURLException { // Gewünschte Funktionen wie zuvor im Appium Inspector-Abschnitt erläutert dc.setCapability(MobileCapabilityType.APP, „C:\eribank.apk“); dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, „com.experitest.ExperiBank“); dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, „.LoginActivity“); dc.setCapability(„Plattformname“, „Android“); dc.setCapability(„Gerätename“, „a3ae1c63“); // Treiberinitialisierung für Appium Server Driver = new AndroidDriver<>(new URL(“http://localhost:4723/wd/hub”), dc); }[/Java]
Die obige Funktion richtet den Android-Treiber mit den gewünschten Funktionen für die Sitzungsinitialisierung ein. Diese Funktion installiert/startet grundsätzlich die Anwendung eribank.apk auf dem Gerät a3ae1c63.
Wir erstellen nun einen Test, der die Anmeldung bei der Eribank-Anwendung ermöglicht.
[java]@Test public void testEribankLogin() { // Speicherort der Elemente, die von Appium Inspector abgerufen wurden. Von userElemBy = By.xpath(“//*[@text='Username']“) // Text an den Feldtreiber für den Benutzernamen senden .findElement(userElemBy).sendKeys(“company”); // Text an das Passwortfeld senden drivers.findElement(By.xpath(“//*[@text='Password']”)).sendKeys(“company“); // Klickbefehl an die Anmeldeschaltfläche senden drivers.findElement(By.xpath(“//*[@text='Login']“)).click(); }[/Java]
Kopieren Sie die oben erstellte Testfunktion und fügen Sie sie in Eribank.apk ein. Wir erhalten unsere endgültige Java-Datei wie unten gezeigt.
Ausführen des Tests
Um den Test auszuführen, müssen wir erstellen Konfiguration ausführen indem Sie zum IntelliJ-Menü navigieren Ausführen > Konfiguration bearbeiten. Dadurch wird der folgende Bildschirm angezeigt. Klicken Sie auf „+“ und TestNG, um eine Laufkonfiguration zu erstellen.

Hinweis: Möglicherweise müssen Sie die hinzufügen TestNG-Plugin zu IntelliJ.
Wählen Sie die Ausführungskonfiguration aus und füllen Sie das Feld aus Benennen, Klicken Sie auf „…“, um die Testklasse (EribankTest.class) auszuwählen, und klicken Sie auf „OK“, wie unten gezeigt.

Führen Sie nun den Test aus, indem Sie zu navigieren Menü > Ausführen > EribankTest
Das mit diesem Blog verknüpfte Beispielprojekt befindet sich unter Beispielprojekt für Android-Automatisierung.
Auch interessant
Wie Teams Playwright über die lokale CI hinaus skalieren
Die Zahlen belegen es. Akzeptanz in professionellen QA-Teams…
Warum Arbeitsabläufe im Gesundheitswesen schwer zu testen sind
In Anwendungen im Gesundheitswesen sind die wichtigsten Arbeitsabläufe oft…
Anwendungstests im Gesundheitswesen: Warum Fehler unentdeckt bleiben
Warum kritische Fehler in Anwendungen des Gesundheitswesens häufig unentdeckt bleiben Stellen Sie sich Folgendes vor: …
