introduction appium
In diesem Tutorial wird erklärt, was Appium ist, seine Architektur, sein Workflow und die Verwendung dieses Open-Source-Tools für die mobile Automatisierung unter Android und iOS:
Appium ist ein Open-Source-Tool für die mobile Automatisierung, das die Automatisierung auf Plattformen wie Android, iOS usw. ermöglicht.
Es unterstützt auch die Automatisierung mit mehreren Programmiersprachen wie Java, PHP, Perl, Python usw.So können Benutzer jede Programmiersprache verwenden, mit der sie vertraut sind, und automatisierte Skripte schreiben.
=> Sehen Sie sich hier die Simple Appium Training Series an.
Was du lernen wirst:
Was ist Appium?
Hier ist ein Video-Tutorial:
Übersicht über Apps
Alle Anwendungen können automatisiert werden, einschließlich Native-, Hybrid- und Web-Apps.Im Folgenden finden Sie eine einfache Übersicht über verschiedene Arten von Anwendungen.
- Native Apps: Diese Appswerden mit iOS-, Android- oder Windows-SDKs geschrieben.Auf diese kann erst nach der Installation im Gerät zugegriffen werden. Zum Beispiel, Skype, das erst nach der Installation auf dem Gerät verwendet werden kann. Wir können die App nicht über den Browser öffnen.
- Netz Apps: Mobile Web-Appskann mit einem mobilen Browser aufgerufen werden.Auf Web-Apps kann nur über den Browser zugegriffen werden. Zum Beispiel, Auf softwaretestinghelp.com kann nur über den Browser zugegriffen werden. Wir haben keine separate App für die Website.
- Hybrid Apps: DieseAppsVerwenden Sie einen Wrapper um eine „Webansicht“ - ein natives Steuerelement, das die Interaktion mit Webinhalten ermöglicht.Diese können auf dem Gerät installiert und über die Browser-URL aufgerufen werden. Zum Beispiel, Amazon kann als separate App auf dem Gerät installiert und auch über den Browser als aufgerufen werden Amazonas.
Noch wichtiger ist, dass dieses Tool plattformübergreifend ist. Mit diesem Tool können Sie Tests für mehrere Plattformen (iOS, Android, Windows) mit derselben API schreiben. Dies ermöglicht die Wiederverwendung von Code zwischen iOS-, Android- und Windows-Geräten.
Architektur der Epochen
Dies ist ein in der Programmiersprache Node.js geschriebener HTTP-Server, der WebDriver-Sitzungen verarbeitet. Der Appium-Server empfängt HTTP-Anforderungen von den Client-Bibliotheken im JSON-Format. Die Anforderungen werden dann je nach Plattform, auf der sie ausgeführt werden, unterschiedlich behandelt.
Es folgt der Client-Server-Architektur. Es sind 3 Komponenten enthalten:
- Appium Client
- Appium Server
- Endgerät
# 1) Marcus Kunde
Der Code mit Automatisierungsskript wird als Appium Client bezeichnet.
Microsoft Dynamics Axe 2012 Tutorial für Anfänger
Der Code ist in einer beliebigen Programmiersprache wie PHP, Java, Phyton usw. geschrieben. Dieses Automatisierungsskript enthält die Konfigurationsdetails des Mobilgeräts und der Anwendung. Gleichzeitig wird die Logik / der Code zum Ausführen der Testfälle der Anwendung per Skript ausgeführt.
# 2) Epochenserver
Der Appium-Server wird mit der Programmiersprache Node.j geschrieben.Es empfängt Verbindungs- und Befehlsanforderungen vom Appium-Client im JSON-Format und führt diesen Befehl auf Mobilgeräten aus. Der Server muss auf dem Computer installiert sein und wird vor dem Aufrufen des Automatisierungscodes gestartet.
Der Server interagiert mit verschiedenen Plattformen wie iOS und Android. Es wird eine Sitzung zur Interaktion mit Endgeräten mobiler Apps erstellt. Es handelt sich um einen in der Programmiersprache Node.js geschriebenen HTTP-Server, der die HTTP-Anforderungen aus den Clientbibliotheken liest und diese Anforderungen an die entsprechende Plattform sendet.
Um den Server zu starten, müssen Benutzer die Quelle herunterladen oder direkt von Npm installieren. Es bietet auch die GUI-Version des Servers. Sie können es vom offiziellen Appium herunterladen Seite? ˅ .
Im nächsten Kapitel werden wir die GUI-Version genauer besprechen. Einer der größten Vorteile dieses Tools besteht darin, dass der Code, mit dem Sie interagieren, in vielen Sprachen wie Java, C #, Ruby, Python usw. geschrieben ist, da Appium im Kern die REST-API ist.
# 3) Endgerät
Dies ist meistens ein mobiles Echtzeitgerät oder ein Emulator. Die Automatisierungsskripte werden auf dem Endgerät vom Appium-Server mit den Befehlen des Clients ausgeführt.
Der WorkFlow der Appium-Architektur
Implementierung eines binären Suchbaums in Java
Der Appium-Client, der die Konfigurationsdetails und das Automatisierungsskript für die Testfälle enthält, sendet die Befehle im JSON-Format an den Server. Das Automatisierungsskript wird durch integrierte JAR-Dateien im Client in das JSON-Format konvertiert.
Appium Server erkennt dann den Befehl und stellt eine Verbindung mit dem entsprechenden Endgerät her. Sobald die Verbindung hergestellt ist, wird die Ausführung von Testfällen im Endgerät ausgelöst. Das Endgerät antwortet auf die Anfrage in Form von HTTP an das Appium.
Wenn die Testfälle auf dem mobilen Gerät / Emulator ausgeführt werden, wird das Protokoll aller im Gerät / Emulator ausgeführten Aktionen ausgefüllt.
Arbeiten von Appium unter iOS
Dieses Tool verwendet die UIAutomation-API von Apple, um mit den UI-Elementen der Anwendung auf einem iOS-Gerät zu interagieren. UIAutomation ist eine JavaScript-Bibliothek der Apple Company. Diese Bibliotheken werden verwendet, um die Anwendungen in iOS zu automatisieren.
Wenn wir die Testskripte ausführen, werden die Befehle in den Testskripten in Form von JSON über eine HTTP-Anforderung an den Appium-Server übertragen. Der Server sendet den Befehl an diese Instrumente, und die Instrumente suchen nach der Datei bootstrap.js.
Diese Befehle werden dann in der Datei bootstrap.js in der Umgebung der iOS-Instrumente ausgeführt. Nach der Ausführung des Befehls sendet der Client die Nachricht (Erfolg / Misserfolg) mit den Protokolldetails des ausgeführten Befehls an den Appium-Server zurück.
Arbeiten von Appium auf Android
Appium verwendet das UIAutomator-Framework, um mit den UI-Elementen der Anwendung auf einem Android-Gerät zu interagieren. Der UIAutomator ist ein Framework, das von den Android-Entwicklern entwickelt wurde, um seine Benutzeroberfläche zu testen.
Hier haben wir anstelle der UIAutomation-API, wie wir sie in Apple gesehen haben, einen UIAutomator / Selendroid und eine bootstrap.jar anstelle der Datei bootstrap.js. Es werden alle Android-Versionen unterstützt, die größer oder gleich 17 sind. Für frühere Versionen von Android verwendet Appium das Selendroid-Framework.
Wenn wir die Testskripte ausführen, sendet Appium den Befehl im JSON-Format basierend auf der Android-Version an UIAutomator oder Selendroid. Hier fungiert bootstrap.jar als TCP-Server, über den wir den Testbefehl senden können, um die Aktion auf dem Android-Gerät mit UIAutomator / Selendroid auszuführen.
Fazit
In diesem Kapitel erhalten Sie ein grundlegendes Verständnis von Appium, der Architektur, dem Workflow und der Arbeitsweise von Appium unter iOS / Android.
Im nächsten Kapitel erfahren Sie, wie Sie Appium und andere grundlegende Software einrichten, die für die mobile Automatisierung auf realen Geräten installiert werden sollen.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Erstellen Sie Appium-Tests für eine Android-App
- Einführung in Appium Studio: Hauptvorteile und -funktionen
- Paralleles Ausführen Ihrer Appium-Tests mit Appium Studio für Eclipse
- Erstellen von Epochentests mit epochs Studio for Eclipse
- Appium Studio für Eclipse: End-to-End-Appium / Selen-Automatisierung von Eclipse
- Appium-Tutorial zum Testen von Android- und iOS-Apps für Mobilgeräte
- Verbinden von echten iOS- und Android-Geräten von der Cloud mit Appium Studio
- Erstellen Sie einen Appium-Test für eine iOS-App