Was ist Appium? Testautomatisierung für mobile Apps

Appium ist ein Open-Source-Framework, das iOS-, Android- und Desktop-Apps über das WebDriver-Protokoll automatisiert. Funktionsweise, Treiber, Fehler, FAQ.

Was ist Appium?

Appium ist ein Open-Source-Framework zur Automatisierung der Benutzeroberfläche von mobilen Apps auf iOS und Android sowie von Desktop-Apps und Browsern. Es läuft als HTTP-Server, der das WebDriver-Protokoll umsetzt. Testcode in jeder Sprache mit einem Appium-Client steuert so die App, die Sie tatsächlich ausliefern, ohne ein Test-SDK einzubauen.

So funktioniert Appium

Appium besteht aus vier Teilen: einem Kern, der die API definiert, Treibern für die jeweilige Plattform, Clients, die die API in einer Programmiersprache bereitstellen, und optionalen Plugins. Ihr Test sendet über einen Client WebDriver-Befehle an den Server, der sie an den passenden Treiber weitergibt.

  • UiAutomator2 und Espresso für Android-Apps.
  • XCUITest für iOS, iPadOS, tvOS und watchOS.
  • Mac2 und Windows für Desktop-Apps, Safari, Gecko und Chromium für Browser.

Offizielle Clients gibt es für JavaScript, Java, Python, Ruby und .NET. Für Flutter-Apps existieren Treiber aus der Community, siehe Flutter. Appium 3 benötigt Node.js 20.19 oder neuer und entfernt viele veraltete Endpunkte, etwa den alten Parameter desiredCapabilities: Akzeptiert wird nur capabilities.

Beispiel: ein Login-Test

Sie starten eine Sitzung mit Capabilities, die Plattform, Treiber (zum Beispiel UiAutomator2) und App-Datei nennen. Der Test findet das E-Mail-Feld über die Accessibility-ID, gibt einen Wert ein, tippt auf Login und prüft, ob das Element der Startseite erscheint. Unter iOS ändern sich im Wesentlichen nur die Capabilities und einzelne Locators. Das ist typisches Regressionstesten eines wichtigen Nutzerpfads.

Häufige Fehler mit Appium

  • Lange XPath-Locators: Sie sind langsam und brechen bei kleinen Layoutänderungen. Besser sind Accessibility-IDs, die Entwickler gezielt setzen.
  • Feste Wartezeiten statt expliziter Waits auf ein sichtbares oder klickbares Element.
  • Alles über die Oberfläche testen. Halten Sie wenige End-to-End-Abläufe und prüfen Sie den Rest auf Unit- und API-Ebene.
  • Appium aktualisieren, ohne die Treiber zu aktualisieren. Appium 3 verlangt aktuelle Treiberversionen.
  • Die Sitzung nicht beenden, sodass Geräte und Emulatoren blockiert bleiben.

Appium, mobile Frameworks und Performancetests

Appium funktioniert mit nativen Apps und mit Apps aus plattformübergreifenden Frameworks wie React Native. Für Webinhalte im mobilen Browser lesen Sie, wie man Websites in mobilen Emulatoren testet, und den Eintrag zum Browser-Gerätemodus. Für Browsertests in JavaScript ist WebdriverIO eine verwandte Option.

Appium prüft, ob sich die Oberfläche auf einem Gerät richtig verhält. Wie das Backend viele gleichzeitige Nutzer verkraftet, sagt es nicht. Dafür führen Sie einen Lasttest gegen die APIs der App aus. LoadFocus kann vorhandene JMeter-Skripte in der Cloud ausführen, siehe JMeter-Lasttests und Lasttests. LoadFocus ist nicht mit Appium integriert.

Häufige Fragen

Ist Appium kostenlos?

Ja. Appium ist Open Source. Kosten entstehen nur für die Geräte, Emulatoren oder Cloud-Gerätedienste, auf denen Sie es betreiben.

Muss ich meine App für Appium ändern?

Nein. Appium automatisiert die unveränderte App über die Automatisierungswerkzeuge der jeweiligen Plattform, Sie testen also denselben Build, den Sie ausliefern.

In welchen Sprachen kann ich Appium-Tests schreiben?

In jeder Sprache mit einem Appium- oder WebDriver-Client. Offizielle Clients gibt es für JavaScript, Java, Python, Ruby und .NET.

Was unterscheidet Appium 2 und Appium 3?

Appium 2 verlagerte die Plattformunterstützung in separat installierte Treiber. Appium 3 erhöht die Mindestversion von Node.js auf 20.19 und entfernt viele veraltete Endpunkte und Parameter.

Kann ich Appium für Lasttests nutzen?

Nein. Appium steuert jeweils ein Gerät über die Oberfläche. Um zu prüfen, wie ein Backend viele Nutzer verkraftet, nutzen Sie ein Lasttest-Tool gegen dessen APIs.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.