Appium zählt zu den bekanntesten Testautomatisierungs-Frameworks für mobile Anwendungen und unterstützt verschiedene Testarten, unter anderem UI-, Leistungs- und Integrationstests. Es ermöglicht das automatisierte Testen von nativen, hybriden und Web-Apps auf Android- und iOS-Geräten. Tests lassen sich mit der Open-Source-Lösung in ganz unterschiedlichen Programmiersprachen wie Java, Python, JavaScript oder C# umsetzen. Genau wie Selenium nutzt es das WebDriver-Protokoll.

In diesem Beitrag möchte ich genauer auf das Framework eingehen und dir die Vorteile vorstellen.

Geschichte

Der Brite Dan Cuellar brachte 2011 Appium an den Start. Das Framework entstand auf Basis des UI-Automation-Frameworks  „iOSAuto“. Das Projekt fand binnen kürzester Zeit tausende Nutzer und wurde später finanziell von Sauce Labs gefördert, die es als freie Software herausgaben und für Node.js nochmal umschrieben.

Vierzehn Jahre später ist Appium zu einem der beliebtesten Testautomatisierungstools herangewachsen. Es wird für das Testing von iOS und Android Apps genutzt. Appium konnte bereits einige Preise einheimsen, darunter den Bossie Award, bei dem Techies für ihre bevorzugten Open-Source-Lösungen abstimmen.  

Darum ist Appium so beliebt

  1. Testautomatisierung für beide Marktführer: Appium kann sowohl für Android als auch iOS genutzt werden, es ermöglicht das Schreiben von Tests, die für Endgeräten mit beiden Betriebssystemen kompatibel sind.
  2. Keine Änderung an der App: Im Gegensatz zu anderen Automatisierungstools müssen Appium-Tester keine Code-Änderungen innerhalb der zu testenden App vornehmen.
  3. Unterstützt viele Programmiersprachen: Die Tests können nicht nur mit JavaScript oder C#, sondern auch mit Java, Python und Ruby geschrieben werden.
  4. Open-Source und weltweite Fanbase: Appium ist frei zugänglich und wird von Entwicklern auf der ganzen Welt genutzt.
  5. WebDriver: Da Appium das WebDriver-Protokoll verwendet, finden sich Selenium-User schnell mit dem Framework zurecht.
Merke: Appium ist ein plattforübergreifendes Open-Source-Framework für mobile Testautomatisierung, das UI-, Performance- und Integrationstests auf iOS- und Android-Geräten ermöglicht. Es nutzt das WebDriver-Protokoll, erfordert keine Änderungen an der App und unterstützt verschiedene Programmiersprachen wie Java, Python, JavaScript, C# oder Ruby.

Appium – so funktioniert’s

Appium fungiert als Server, der WebDriver-Anfragen von den Skripten empfängt und je nach Endgerät (Android oder iOS) in konkrete Befehle übersetzt. Die Hauptbestandteile des Frameworks sind folgende:

  1. Appium Server: Dienst als Übersetzer zwischen Testskripten und den Endgeräten.
  2. Appium Client Libraries: Stellt APIs zur Verfügung, um mit verschiedenen Programmiersprachen wie Java, Python oder Javascript die Tests schreiben zu können. 
  3. Mobile Automatisierungsframeworks: UIAutomator (Android) bzw. XCUITest (iOS) zur Steuerung der Apps auf den Endgeräten. 
So funktioniert Appium: Vom Testskript über den Server bis zum Gerät.

Appium lauffähig machen

Um Appium lauffähig zu machen, ist Folgendes erforderlich:

  1. Node.js zur Installation des Appium-Servers
  2. Appium Desktop bei Bedarf zur visuellen Ausführung
  3. Android SDK und/oder Xcode (je nach Zielbetriebssystem)
  4. WebDriver und Client-Bibliotheken für die genutzte Sprache.

Schlussworte

Wer eine flexible Technologie für mobile Testautomatisierung sucht, kommt an Appium nur schwer vorbei. Das plattformübergreifende Framework kann für verschiedene Ebenen der Testpyramide eingesetzt werden und ermöglicht das Schreiben von automatisierten Tests in unterschiedlichen Sprachen.  Appium ist im Netz frei verfügbar und wird aufgrund toller Features heute von Entwicklern auf der ganzen Welt genutzt.

Weiterführende Links

https://appium.io/docs/en/latest/

 

FAQ

Was ist Appium und wofür wird es eingesetzt?
Appium ist ein Open-Source-Framework zur Automatisierung von mobilen Anwendungen auf Android- und iOS-Geräten. In der Praxis nutzt man Appium, um End-to-End-Tests für mobile Apps durchzuführen, insbesondere für hybride und native Anwendungen.

Welche Arten von Anwendungen unterstützt Appium?
Appium unterstützt native, hybride und mobile Webanwendungen. Aus Erfahrung ist es besonders hilfreich, wenn die gleiche Testlogik auf verschiedenen Plattformen wiederverwendet werden soll.

Welche Programmiersprachen unterstützt Appium?
Appium kann mit mehreren Programmiersprachen genutzt werden, darunter Java, JavaScript, Python, C# und Ruby. Ich arbeite bevorzugt mit JavaScript in Kombination mit WebdriverIO.

Was ist der Unterschied zwischen Appium und Selenium?
Selenium ist für die Automatisierung von Webbrowsern konzipiert, während Appium speziell für mobile Anwendungen entwickelt wurde. Appium basiert auf dem WebDriver-Protokoll, sodass Web- und Mobile-Tests ähnliche Konzepte nutzen können.

Ist Appium noch zeitgemäß?
Ja, Appium wird weiterhin aktiv eingesetzt und weiterentwickelt. In Projekten, in denen mobile Apps getestet werden, ist es nach wie vor die Standardlösung für plattformübergreifende Testautomatisierung.

Für welche Arten von Tests eignet sich Appium?
Appium eignet sich besonders für End-to-End-Tests von mobilen Anwendungen. Für reine Unit-Tests von App-Logik verwendet man lieber Frameworks wie Mocha oder Jest.

Beitrag verfasst von:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.