APPIUM Tutorial für Android & Testen von iOS Mobile Apps

Inhaltsverzeichnis:

Anonim

Was ist Appium?

APPIUM ist ein frei verteiltes Open Source UI Framework Testing Framework für mobile Anwendungen. Appium ermöglicht native, Hybrid- und Webanwendungstests und unterstützt Automatisierungstests auf physischen Geräten sowie auf einem Emulator oder Simulator. Es bietet plattformübergreifende Anwendungstests, dh eine einzelne API funktioniert sowohl für Android- als auch für iOS-Plattformtestskripte.

Es besteht KEINE Abhängigkeit vom Betriebssystem des Mobilgeräts. Da APPIUM über ein Framework oder einen Wrapper verfügt, der Selenium Webdriver-Befehle je nach Gerätetyp in UIAutomation- (iOS) oder UIAutomator- (Android) Befehle übersetzt, nicht in einen Betriebssystemtyp.

Appium unterstützt alle Sprachen mit Selenium-Client-Bibliotheken wie Java, Objective-C, JavaScript mit node.js, PHP, Ruby, Python, C # usw.

In diesem Tutorial erfahren Sie mehr darüber

  • Wie funktioniert APPIUM?
  • Voraussetzung für die Verwendung von APPIUM
  • Installieren Sie Appium Desktop:
  • APPIUM Inspector
  • Hängen Sie den Android Emulator an Appium an
  • APPIUM Testfall für native Android App (Rechner)
  • Einschränkungen bei Verwendung von APPIUM
  • Häufige Fehler und Schritte zur Fehlerbehebung in Appium

Wie funktioniert APPIUM?

  • Appium ist ein HTTP-Server, der mit einer Node.js-Plattform geschrieben wurde und iOS- und Android-Sitzungen mit dem Webdriver JSON-Wire-Protokoll steuert. Daher muss Node.js vor der Initialisierung des Appium-Servers auf dem System vorinstalliert sein.
  • Wenn Appium heruntergeladen und installiert wird, wird auf unserem Computer ein Server eingerichtet, der eine REST-API verfügbar macht.
  • Es empfängt eine Verbindungs- und Befehlsanforderung vom Client und führt diesen Befehl auf mobilen Geräten (Android / iOS) aus.
  • Es antwortet mit HTTP-Antworten. Um diese Anforderung erneut auszuführen, werden die Frameworks für die mobile Testautomatisierung verwendet, um die Benutzeroberfläche der Apps zu steuern. Ein Framework wie: -
    • Apple Instruments für iOS (Instrumente sind nur in Xcode 3.0 oder höher mit OS X 10.5 und höher verfügbar)
    • Google UIAutomator für Android API Level 16 oder höher
    • Selendroid für Android API Level 15 oder weniger

Voraussetzung für die Verwendung von APPIUM

  1. Installieren Sie das ANDROID SDK (Studio) [Link] -
  2. Installieren Sie JDK (Java Development Kit) [Link]
  3. Installiere Eclipse [Link]
  4. Installieren Sie TestNg für Eclipse [Link]
  5. Installieren Sie Selenium Server JAR [Link]
  6. Appium Client Library [Link]
  7. APK App Info bei Google Play [Link]
  8. js (Nicht erforderlich - Wenn der Appium-Server installiert ist, wird er standardmäßig mit "Node.exe" und NPM geliefert. Er ist in der aktuellen Version von Appium enthalten.)
  9. Installieren Sie Appium Desktop

Installieren Sie Appium Desktop:

Appium Studio ist eine Open Source-GUI-App zur Installation von Appium Server. Es wird mit allen Voraussetzungen für die Installation und Verwendung von Appium Server geliefert. Es hat auch einen Inspektor, um grundlegende Informationen zu Ihren Apps zu erhalten. Im Lieferumfang ist ein Rekorder enthalten, mit dem Sie Boilerplate-Code zur Automatisierung Ihrer mobilen Apps erstellen können.

Schritt 1) Gehen Sie zu http://appium.io/ und klicken Sie auf Appium herunterladen.

Schritt 2) Wählen Sie unter Windows die exe-Datei aus und laden Sie sie herunter. Das Herunterladen der Datei dauert ca. 162 MB, basierend auf Ihrer Internetgeschwindigkeit.

Schritt 3) Klicken Sie auf die heruntergeladene Exe.

Schritt 4) Auf einem Windows-Computer muss Appium nicht installiert werden. Es läuft direkt von der Exe. Sobald Sie auf die Exe klicken, sehen Sie einige Minuten lang das folgende Bild.

Für Mac müssen Sie das dmg installieren

Schritt 5) Als nächstes sehen Sie das Server-Startfenster. Es füllt die Standard-Host- und Port-Option auf, die Sie ändern können. Es wird auch die verwendete Version von Appium erwähnt.

Schritt 6) Wenn Sie auf die Schaltfläche Server starten klicken, wird ein neuer Server auf dem angegebenen Host und Port gestartet. Die Serverprotokollausgabe wird angezeigt.

Schritt 7) Klicken Sie auf Neues Sitzungsfenster .

Schritt 8) Sie können die gewünschten Funktionen eingeben und eine Sitzung starten.

APPIUM Inspector

Ähnlich wie das Selenium IDE-Aufnahme- und Wiedergabetool verfügt Appium über einen Inspektor zum Aufnehmen und Wiedergeben. Es zeichnet das native Anwendungsverhalten auf und spielt es ab, indem es das DOM überprüft und die Testskripte in einer beliebigen Sprache generiert. Derzeit wird Appium Inspector für Microsoft Windows jedoch nicht unterstützt. Unter Windows wird der Appium Server gestartet, die Elemente können jedoch nicht überprüft werden. UIAutomator Viewer kann jedoch als Option zum Überprüfen von Elementen verwendet werden.

Schritte zum Starten mit Appium Inspector auf einem Mac: -

Schritt 1) Laden Sie Ihren Appium-Server mit der Standard-IP-Adresse 0.0.0.0 und dem Port 4725 herunter und starten Sie ihn.

  1. Wählen Sie die zu testende Quelldatei oder .app-Datei aus lokal aus.
  2. Aktivieren Sie das Kontrollkästchen "App-Pfad", um die Schaltfläche "Auswählen" zu aktivieren.

Schritt 2) Klicken Sie nun auf die Schaltfläche "Auswählen", um die Option zum Durchsuchen und Auswählen der Testdatei auf dem lokalen Laufwerk zu erhalten.

Schritt 3) Starten Sie Simulator auf einem Mac.

Schritt 4) Klicken Sie oben rechts auf die Schaltfläche "Starten", um ein blaues Farbsymbol zu aktivieren. Klicken Sie erneut auf dieses blaue Farbsymbol, um den Appium-Inspektor und den Simulator mit einer vorgewählten Anwendung zu öffnen.

Schritt 5) - Wenn Sie Ihren Appium Inspector starten, wird die Elementhierarchie in spaltenweiser Struktur angezeigt. Ein Benutzer kann Aktionen auch mithilfe von Schaltflächen wie Tippen, Streichen usw. anwenden.

Schritt 6) Klicken Sie auf die Schaltfläche 'Stop', um die Aufnahme zu beenden.

Hängen Sie den Android Emulator an Appium an

Schritt 1) Installieren Sie das Android SDK auf Ihrem System.

Gehen Sie zu Systemsteuerung >> System und Sicherheit >> System und klicken Sie im linken Bereich auf 'Erweiterte Systemeinstellungen'. Klicken Sie im Popup-Fenster "Systemeigenschaften" auf die Registerkarte "Erweitert" und dann auf die Schaltfläche "Umgebungsvariablen".

Schritt 2) Doppelklicken Sie nun im Popup-Fenster "Umgebungsvariablen" auf "Pfad" und legen Sie die Variable ANDROID_HOME fest, die auf Ihr SDK-Verzeichnis verweist. Fügen Sie im Pfad den gesamten Pfad des SDK-Ordners hinzu.

z.B -

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

Schritt 3) Starten Sie Ihren Android-Emulator oder schließen Sie ein beliebiges Android-Gerät an Ihr System an. (Stellen Sie sicher, dass die Android-Debugging-Option auf Ihrem Android-Gerät aktiviert ist. So aktivieren Sie die Debugging-Option. Gehen Sie zu Geräteeinstellungen >> Entwickleroptionen >> Aktivieren Sie "Debugging-Option" ).

Schritt 4) Öffnen Sie die Eingabeaufforderung und navigieren Sie zum Verzeichnis \ platform-tools \ Ihres Android SDK (z. B. D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).

Schritt 5) - Führen Sie den Befehl 'adb Geräte' aus. Sie können Ihr verbundenes Gerät im Eingabeaufforderungsfenster sehen. (In CMD schreibe '> adb Geräte' - Dieser Befehl listet die verbundenen Emulatorinstanzen auf. Beispiel: adb -s Emulator-5554 install )

Schritt 6) - Führen Sie den Befehl 'adb start-server' aus. Der ADB-Server wird gestartet, der von Appium zum Senden von Befehlen an Ihr Android-Gerät verwendet wird.

Schritt 7) Navigieren Sie nun zum Appium-Verzeichnis in Ihrem System und starten Sie Appium, indem Sie auf eine Appium.exe-Datei klicken.

Schritt 8) Ändern Sie nicht die IP-Adresse oder die Portnummer und klicken Sie auf die Schaltfläche "Starten". Ihre Appium-Konsole startet wie unten gezeigt um 127.0.0.1:4723.

Schritt 9) Klicken Sie auf die Schaltfläche "Start". Der Appium-Server wird auf Ihrem System ausgeführt.

APPIUM Testfall für native Android App (Rechner)

Schritt 1) ) Laden Sie das ADT Eclipse Plugin herunter oder laden Sie ADT herunter, das hier separat gebündelt ist

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

Schritt 3) Importieren Sie die Selenium-Bibliothek und Testng in dieses neue Projekt.

Schritt 4) Erstellen Sie nun ein kleines Testprogramm für 'Calculator.app', um zwei Zahlen zu summieren.

Paket 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;// importiere org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations. *;öffentlicher Klassenrechner {WebDriver-Treiber;@Vor dem Unterrichtpublic void setUp () löst MalformedURLException aus {// Richten Sie die gewünschten Funktionen ein und übergeben Sie die Android-App-Aktivität und das App-Paket an AppiumDesiredCapabilities-Funktionen = neue DesiredCapabilities ();Capabilities.setCapability ("BROWSER_NAME", "Android");Capabilities.setCapability ("VERSION", "4.4.2");Capabilities.setCapability ("Gerätename", "Emulator");Capabilities.setCapability ("Plattformname", "Android");Capabilities.setCapability ("appPackage", "com.android.calculator2");// Dieser Paketname deiner App (du kannst ihn von der apk info app bekommen)Capabilities.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Dies ist die Launcher-Aktivität Ihrer App (Sie können sie von der apk info app erhalten).// RemoteWebDriver-Instanz erstellen und eine Verbindung zum Appium-Server herstellen// Die Calculator App wird auf Android-Geräten mit den unter Gewünschte Funktionen angegebenen Konfigurationen gestartetdriver = new RemoteWebDriver (neue URL ("http://127.0.0.1:4723/wd/hub"), Funktionen);}}@Prüfungpublic void testCal () löst eine Ausnahme aus {// finde den Text auf dem Rechner mit 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 ();// Suchen Sie das Bearbeitungsfeld des Rechners mit By.tagName ()WebElement results = driver.findElement (By.tagName ("EditText"));// Überprüfen Sie den berechneten Wert im Bearbeitungsfeldassert results.getText (). equals ("6"): "Der tatsächliche Wert ist: + results.getText () + "stimmte nicht mit dem erwarteten Wert überein: 6";}}@Nach dem Unterrichtpublic void teardown () {// schließe die Appdriver.quit ();}}}}

Appium Server und Android Emulator von 'AVD Manager' und klicken Sie auf Ausführen >> TestNG. Das obige Programm führt die 'Calculator.app' auf dem ausgewählten Emulator aus und das Ergebnis wird unter der Eclipse-Konsole unter Verwendung eines TestNG-Frameworks angezeigt.

Einschränkungen bei Verwendung von APPIUM

  1. Appium unterstützt keine Tests von Android-Versionen unter 4.2
  2. Eingeschränkte Unterstützung für Hybrid-App-Tests. Beispiel: Es ist nicht möglich, die Umschaltaktion der Anwendung von der Web-App auf native und umgekehrt zu testen.
  3. Keine Unterstützung für die Ausführung von Appium Inspector unter Microsoft Windows.

Häufige Fehler und Schritte zur Fehlerbehebung in Appium

Error Schritte zur Fehlerbehebung
1. Fehler: - Die folgenden gewünschten Funktionen sind erforderlich, wurden jedoch nicht bereitgestellt: Gerätename, Plattformname 1. Fügen Sie die gewünschten Funktionen hinzu: Gerätename, Plattformname im APPIUM-Skript. zB: Capabilities.setCapability ("Gerätename", "Emulator"); Capabilities.setCapability ("Plattformname", "Android");
2. Fehler: adb konnte nicht gefunden werden. Bitte legen Sie die Umgebungsvariable ANDROID_HOME mit dem Stammverzeichnispfad des Android SDK fest. 2. Sie müssen wahrscheinlich den SDK-Stammverzeichnispfad im System 'Umgebungsvariablen' in der Spalte 'Pfad' einrichten
3.Fehler: org.openqa.selenium.SessionNotCreatedException: Eine neue Sitzung konnte nicht erstellt werden. 3. Sie müssen einen korrekten App-Pfad festlegen und den Appium-Server neu starten.
4. Wie finde ich ein DOM-Element oder XPath in einer mobilen Anwendung? 4. Verwenden Sie 'UIAutomatorviewer', um das DOM-Element für die Android-Anwendung zu finden.