Appium Tutorial für Anfänger

⚡ Intelligente Zusammenfassung

Appium Anleitung für Android und iOS Mobile Apps Testing stellt ein Open-Source-UI-Automatisierungsframework vor, das native, hybride und Web-Apps auf beiden Plattformen mit einer einzigen Schnittstelle steuert. Selenium-kompatible API. Dieser Leitfaden erklärt, wie das geht. Appium Funktionen, Installationsschritte, der Inspektor, Emulatoranschluss und ein Java Testfall für den Taschenrechner.

  • 📱 Kerndefinition: Appium ist ein Open-Source-Framework zur Automatisierung mobiler Benutzeroberflächen, das native, hybride und Web-Apps unterstützt. Android und iOS über eine einzige API.
  • ???? HTTP-Servermodell: Appium Es fungiert als Node.js HTTP-Server, der WebDriver JSON-Wire-Befehle in plattformspezifische Automatisierungsaufrufe übersetzt.
  • 🧰 Werkzeugpalette: Zu den erforderlichen Voraussetzungen gehören Android SDK, JDK, Eclipse, TestNG, Selenium Server JAR, die Appium Clientbibliothek und Appium Desktop.
  • 🔍 Inspektor und Protokollführer: Appium Der Inspector untersucht Elementhierarchien und generiert Standardskripte, während der UIAutomator Viewer der Windows zurückgreifen.
  • Java Testablauf: Verwenden Sie DesiredCapabilities, RemoteWebDriver und TestNG Annotationen zum Starten und Validieren nativer Android Apps wie der Taschenrechner.

Appium Anleitung für Android und iOS Mobile Apps Testing

Was ist Appium?

Appium ist eine frei vertriebene Open-Source-Benutzeroberfläche für mobile Anwendungen. testing Rahmen. Appium Es ermöglicht das Testen nativer, hybrider und Webanwendungen und unterstützt die Automatisierung sowohl auf physischen Geräten als auch auf Emulatoren und Simulatoren. Es bietet plattformübergreifendes Testen von Anwendungen – eine einzige API funktioniert für beides. Android und iOS-Testskripte.

Appium hat nicht Abhängigkeit vom Betriebssystem des Mobilgeräts. Das Framework kapselt und übersetzt Selenium WebDriver-Befehle in UIAutomation (iOS) oder UIAutomator (Android) Befehle abhängig vom Gerätetyp, nicht von der zugrunde liegenden Betriebssystemversion.

Appium unterstützt jede Sprache, die Selenium Kundenbibliotheken — Java, Ziel c, JavaSkript mit Node.js, PHP, Ruby, Python, C#und vieles mehr.

Wie schneidet Appium Arbeit?

  • Appium ist ein HTTP-Server, der auf dem Node.js Plattform, die iOS antreibt und Android Sitzungen werden über das WebDriver-JSON-Protokoll abgewickelt. Node.js muss vor dem Start auf dem System vorinstalliert sein. Appium Server.
  • Wenn die Funktion Appium wird heruntergeladen und installiert, und auf dem lokalen Rechner wird ein Server eingerichtet, der eine REST-API bereitstellt.
  • Der Server nimmt Verbindungs- und Befehlsanfragen vom Client entgegen und führt die Befehle auf einem Mobilgerät aus (Android oder iOS).
  • Es antwortet mit HTTP-Antworten. Um Anfragen auszuführen, Appium Aufrufe nativer Frameworks für die mobile Automatisierung zur Steuerung der Anwendungs-UI:
    • Apple Instruments für iOS (Instrumente sind nur verfügbar in Xcode 3.0 oder höher mit OS X v10.5 und höher).
    • Google UIAutomator für Android API-Level 16 oder höher.
    • Selendroid für Android API-Level 15 oder niedriger.

Voraussetzungen für die Nutzung Appium

  1. Installieren Android SDK (Studio) [verbindung].
  2. Installieren JDK (Java Entwicklungskit) [verbindung].
  3. Installieren Eclipse [verbindung].
  4. Installieren TestNG für Eclipse [verbindung].
  5. Installieren Selenium Server-JAR [verbindung].
  6. Appium Client-Bibliothek [verbindung].
  7. APK-App-Informationen on Google Spielen [verbindung].
  8. Node.js (nicht unbedingt erforderlich — wenn Appium Der Server ist installiert, Node.exe und NPM sind im Paket enthalten. Appium Ausführung).
  9. Installieren Appium Desktop.

Installieren Appium Desktop

Appium Desktop ist eine Open-Source-GUI-Anwendung, die installiert und ausführt. Appium Server. Er wird mit allen erforderlichen Voraussetzungen für die Nutzung geliefert. Appium Der Server wird mit einem Inspector ausgeliefert, der grundlegende Informationen über Ihre Apps anzeigt, sowie mit einem Recorder, der Boilerplate-Code generiert, der mobile Anwendungen automatisiert.

Schritt 1) Zurück Nach http://appium.io/ und klicken Sie auf Herunterladen Appium.

Appium Downloadseite der offiziellen Website

Schritt 2) Für WindowsWählen Sie die .exe-Datei aus und laden Sie sie herunter. Die Datei ist etwa 162 MB groß und der Download kann je nach Ihrer Internetgeschwindigkeit einige Zeit dauern.

Wählen Windows Appium Desktop-Installer

Schritt 3) Klicken Sie auf die heruntergeladene .exe-Datei.

Führen Sie Appium Desktop-Installationsprogramm (ausführbare Datei)

Schritt 4) Für ein Windows Auf dieser Maschine gibt es keinen Installationsassistenten. Appium Wird direkt von der .exe-Datei ausgeführt. Nach dem Klicken auf die .exe-Datei erscheint für einige Minuten die folgende Startseite.

Appium Desktop-Ladeanimation

Für macOSSie müssen die .dmg-Datei installieren.

Schritt 5) Das Serverstartfenster öffnet sich. Es füllt automatisch den Standardhost und -port aus (die Sie ändern können) und zeigt die... Appium Verwendete Version.

Appium Serverstartfenster mit Host und Port

Schritt 6) Klicken Sie auf Starten Sie den ServerEin neuer Server wird auf dem angegebenen Host und Port gestartet, und die Serverprotokollausgabe erscheint in der Konsole.

Appium Serverprotokollausgabe nach dem Start

Schritt 7) Klicken Sie auf Neues Sitzungsfenster.

Neues Sitzungsfenster öffnen in Appium Desktop

Schritt 8) Geben Sie die gewünschten Fähigkeiten ein und starten Sie eine Sitzung.

Geben Sie die gewünschten Funktionen ein, um zu beginnen. Appium Session

Appium Inspector

Ähnlich wie bei der Selenium IDE-Aufnahme- und Wiedergabetool, Appium hat ein Inspector Zum Aufzeichnen und Wiedergeben von Tests. Es zeichnet das Verhalten nativer Anwendungen auf und gibt es wieder, indem es das DOM untersucht und Testskripte in jeder unterstützten Sprache generiert. Beachten Sie, dass Appium Inspector wird nicht unterstützt auf Microsoft Windows: auf Windows Es startet die Appium Der Server kann zwar Elemente untersuchen, schlägt aber fehl. Der UIAutomator Viewer ist die empfohlene Ausweichlösung für die Elementuntersuchung. Windows.

Schritte zum Einstieg Appium Inspector auf einem Mac-Rechner:

Schritt 1) Laden Sie es herunter und starten Sie es Appium Der Server verwendet die Standard-IP-Adresse 0.0.0.0 und den Port 4725.

  1. Wählen Sie die Quelldatei oder die .app-Datei von Ihrem lokalen Laufwerk zum Testen aus.
  2. Aktivieren Sie das Kontrollkästchen „App-Pfad“, um die Schaltfläche „Auswählen“ zu aktivieren.

Schritt 2) Klicken Sie auf die Schaltfläche „Auswählen“, um die Testdatei auf dem lokalen Laufwerk zu suchen und auszuwählen.

Appium Auswahl des App-Pfads im Inspector auf dem Mac

Schritt 3) Starten Sie den iOS-Simulator auf dem Mac.

Schritt 4) Klicken Sie auf die Start Schaltfläche in der oberen rechten Ecke. Dadurch wird ein blaues Symbol aktiviert – klicken Sie auf dieses Symbol, um es zu öffnen. Appium Inspektor und Simulator mit der vorausgewählten Anwendung.

Start Appium Inspektor mit iOS-Simulator

Schritt 5) Einmal gestartet, Appium Der Inspektor zeigt die Elementhierarchie spaltenweise an. Der Benutzer kann außerdem Aktionen wie Tippen, Wischen und ähnliche Gesten ausführen.

Appium Ansicht der Elementhierarchie im Inspektor

Schritt 6) Klicken Sie auf Stoppen Aufnahme beenden.

Fügen Sie ein Android Emulator zu Appium

Schritt 1) Installieren Android SDK auf Ihrem System.

Öffnen Sie die Systemsteuerung > System und Sicherheit > System. Klicken Sie im linken Bereich auf Erweiterte SystemeinstellungenKlicken Sie im Popup-Fenster „Systemeigenschaften“ auf die Schaltfläche Erweitert Tab und dann Umgebungsvariablen.

Umgebungsvariablen öffnen auf Windows

Schritt 2) Doppelklicken Sie im Popup „Umgebungsvariablen“. Path und setze die ANDROID_HOME Variable, die auf Ihr SDK-Verzeichnis verweist. Fügen Sie den vollständigen Pfad zum SDK-Ordner hinzu. Zum Beispiel:

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Setzen Sie ANDROID_HOME in den Umgebungsvariablen.

Schritt 3) Starten Sie eine Android Emulator oder schließen Sie einen an Android Stellen Sie sicher, dass USB-Debugging auf Ihrem System aktiviert ist. Android Gerät: Gehen Sie zu Geräteeinstellungen > Entwickleroptionen > und aktivieren Sie „USB-Debugging“.

Schritt 4) Öffnen Sie die Eingabeaufforderung und navigieren Sie zu Android SDKs \platform-tools\ Verzeichnis (zum Beispiel D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Schritt 5) Führen Sie die adb devices Befehl. Ihr angeschlossenes Gerät wird im Eingabeaufforderungsfenster angezeigt. Die vollständige Form lautet: adb -s emulator-5554 install <Location of .apk file>.

Ausgabe des Befehls „adb devices“, die den verbundenen Emulator anzeigt

Schritt 6) Führen Sie die adb start-server Befehl. Der ADB-Server startet, und Appium wird es verwenden, um Befehle an Ihren zu senden Android Gerät.

Schritt 7) Navigieren Sie zu der Appium Verzeichnis auf Ihrem System und starten Appium durch Klicken auf Appium.exe-Datei.

Schritt 8) Ändern Sie weder die Standard-IP-Adresse noch die Portnummer. Klicken Sie hier. Start. Ihre Appium Die Konsole startet bei 127.0.0.1:4723, wie unten dargestellt.

Appium Konsole läuft auf 127.0.0.1:4723

Schritt 9) Klicken Sie auf Start. Der Appium Der Server läuft jetzt auf Ihrem System.

Appium Testfall für einen Native Android App (Taschenrechner)

Schritt 1) Laden Sie die ADT herunter Eclipse Plugin oder laden Sie das ADT-Bundle separat herunter von werden auf dieser Seite erläutert.

Schritt 2) Öffne Eclipse und erstellen Sie ein neues Projekt > Paket > Klasse.

Schritt 3) Importieren Sie die Selenium Bibliothek und TestNG in das neue Projekt.

Schritt 4) Erstelle ein kleines Testprogramm für Taschenrechner-App Das ist die Summe zweier Zahlen.

package src_Appium;

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;

public class Calculator {
    WebDriver driver;

    @BeforeClass
    public void setUp() throws MalformedURLException {
        // Set up desired capabilities and pass the Android app activity and package to Appium
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("BROWSER_NAME", "Android");
        capabilities.setCapability("VERSION", "4.4.2");
        capabilities.setCapability("deviceName", "Emulator");
        capabilities.setCapability("platformName", "Android");

        capabilities.setCapability("appPackage", "com.android.calculator2");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator by name
        WebElement two = driver.findElement(By.name("2"));
        two.click();
        WebElement plus = driver.findElement(By.name("+"));
        plus.click();
        WebElement four = driver.findElement(By.name("4"));
        four.click();
        WebElement equalTo = driver.findElement(By.name("="));
        equalTo.click();
        // Locate the calculator output by tag name
        WebElement results = driver.findElement(By.tagName("EditText"));
        // Check the calculated value on the edit box
        assert results.getText().equals("6") :
            "Actual value is : " + results.getText() + " did not match with expected value: 6";
    }

    @AfterClass
    public void teardown() {
        // Close the app
        driver.quit();
    }
}

Starte das Appium Server und der Android Klicken Sie im AVD-Manager auf „Emulator“ und anschließend auf „Ausführen“ > TestNGDas Programm führt Calculator.app auf dem ausgewählten Emulator aus und das Ergebnis wird im Display angezeigt. Eclipse Konsole mit der TestNG Rahmen.

Einschränkungen von Appium

  1. Appium unterstützt keine Tests auf Android Versionen niedriger als 4.2.
  2. Die Unterstützung für das Testen von Hybrid-Apps ist eingeschränkt – beispielsweise ist es nicht möglich, den Wechsel zwischen einer Webansicht und einer nativen Ansicht in beide Richtungen zu testen.
  3. Keine Unterstützung für die Ausführung Appium Inspektor an Microsoft Windows.

Häufige Fehler und Schritte zur Fehlerbehebung in Appium

Fehler Schritte zur Fehlerbehebung
Fehler: Die folgenden erforderlichen Funktionen wurden nicht bereitgestellt: Gerätename, Plattformname Fügen Sie die gewünschten Funktionen hinzu. deviceName und platformName zu den Appium Skript. Zum Beispiel: capabilities.setCapability("deviceName", "Emulator"); und capabilities.setCapability("platformName", "Android");
Fehler: ADB konnte nicht gefunden werden. Bitte setzen Sie die Umgebungsvariable ANDROID_HOME mit dem Android SDK-Stammverzeichnispfad. Legen Sie das SDK-Stammverzeichnis in den Systemumgebungsvariablen unter dem Eintrag „Path“ fest.
Fehler: org.openqa.selenium.SessionNotCreatedException: Es konnte keine neue Sitzung erstellt werden. Legen Sie einen korrekten App-Pfad fest und starten Sie die App neu. Appium Server.
Wie findet man ein DOM-Element oder XPath in einer mobilen Anwendung? Verwenden Sie den UIAutomator Viewer, um DOM-Elemente zu untersuchen. Android um weitere Anwendungsbeispiele zu finden.

Häufig gestellte Fragen

Selenium automatisiert Webbrowser; Appium automatisiert mobile Anwendungen. Appium verwendet das WebDriver-Protokoll wieder, so dass Selenium Die Nutzer nehmen es schnell an, aber Appium treibt auch native, hybride und mobile Web-Apps an Android und iOS über plattformspezifische Automatisierungs-Engines.

Appium unterstützt jede Sprache, die eine Selenium WebDriver-Client, einschließlich Java, Python, JavaSkript mit Node.js, Ruby, C#, PHP und Objective-C. Das macht Appium Anpassungsfähig an verschiedene Entwicklerteams, ohne einen Sprachwechsel zu erzwingen.

Ja. Appium Es werden native, auf dem Gerät installierte Apps, Hybrid-Apps mit eingebetteten Webansichten und mobile Web-Apps, die in Chrome oder Safari ausgeführt werden, getestet. Alle drei Typen werden über eine einzige WebDriver-basierte API gesteuert, was die plattformübergreifende Testwartung vereinfacht.

KI verbessert sich Appium Die Suite nutzt selbstheilende Locatoren, visuelle Validierung und KI-generierte Testschritte. KI-Engines erkennen Locator-Drift nach App-Updates, empfehlen stabile XPath-Alternativen und klassifizieren fehlerhafte Tests automatisch, sodass sich Entwickler auf echte Fehler anstatt auf Wartungsarbeiten konzentrieren können.

Ja. KI-gestützte Tools für mobiles Testen analysieren App-Bildschirme, identifizieren interaktive Elemente und generieren Appium Skripte mit den gewünschten Funktionen und Locators werden erstellt. Anschließend überprüfen und optimieren Tester die Skripte, wodurch Boilerplate-Code reduziert und die Einarbeitung neuer Teams beschleunigt wird. Appium Automatisierung.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: