APPIUM Tutorial für Android & Testen mobiler iOS-Apps
Was ist Appium?
APPIUM ist eine frei verteilte Open-Source-Benutzeroberfläche für mobile Anwendungen Testen Rahmen. Appium ermöglicht native, hybride und Webanwendungstests und unterstützt Automatisierungstests auf physischen Geräten sowie einem Emulator oder Simulator. Es bietet plattformübergreifende Anwendungstests, d. h. eine einzige API funktioniert für beide Android und Testskripte für die iOS-Plattform.
Es hat NEIN Abhängigkeit vom Betriebssystem des Mobilgeräts. Da APPIUM ein Framework oder einen Wrapper hat, der übersetzt Selenium Webdriver-Befehle in UIAutomation (iOS) oder UIAutomator (Android) Befehle abhängig vom Gerätetyp, nicht vom Betriebssystemtyp.
Appium unterstützt alle Sprachen, die es haben Selenium Client-Bibliotheken wie- Java, Ziel c, JavaSkript mit node.js, PHP, Ruby, Python, C # usw.
Wie funktioniert APPIUM?
- Appium ist ein „HTTP-Server“, der mit geschrieben wurde ein Node.js Plattform und fährt iOS und ein Android Sitzung mit dem Webdriver JSON Wire-Protokoll. Daher vor der Initialisierung des Appium Server, Node.js muss auf dem System vorinstalliert sein.
- Wann Appium heruntergeladen und installiert wird, wird dann auf unserem Rechner ein Server eingerichtet, der eine REST-API bereitstellt.
- Es empfängt Verbindungs- und Befehlsanfragen vom Client und führt diesen Befehl auf mobilen Geräten aus (Android / iOS).
- Es antwortet mit HTTP-Antworten. Auch hier werden zur Ausführung dieser Anforderung die mobilen Testautomatisierungs-Frameworks verwendet, um die Benutzeroberfläche der Apps zu steuern. Ein Framework wie:-
- 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 den Android API-Level 15 oder weniger
Voraussetzung für die Nutzung von APPIUM
- Installieren Sie ANDROID SDK (Studio)[Link]-
- Installieren Sie JDK (Java Entwicklungskit) [Link]
- Installieren Eclipse [Link]
- Installieren Sie TestNg für Eclipse [Link]
- Installieren Selenium Server-JAR [Link]
- Appium Client-Bibliothek[Link]
- APK-App-Info bei Google Play [Link]
- js (Nicht erforderlich – Wann immer Appium Wenn der Server installiert ist, wird er standardmäßig mit „Node.exe“ und NPM geliefert. Es ist in der aktuellen Version von enthalten Appium.)
- Installieren Appium Desktop
Installieren Appium Desktop
Appium Studio ist eine zu installierende Open-Source-GUI-App Appium Server. Im Lieferumfang sind alle Voraussetzungen für die Installation und Nutzung enthalten Appium Server. Es verfügt außerdem über einen Inspektor, um grundlegende Informationen zu Ihren Apps abzurufen. Im Lieferumfang ist ein Recorder 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 Herunterladen Appium.
Schritt 2) Für Windows, wählen Sie die exe-Datei aus und laden Sie sie herunter. Die Größe der Datei beträgt ca. 162 MB. Der Download dauert je nach Internetgeschwindigkeit einige Zeit.
Schritt 3) Klicken Sie auf die heruntergeladene exe.
Schritt 4) Für ein Windows Maschine, es ist keine Installation erforderlich Appium. Es wird direkt aus der EXE ausgeführt. Sobald Sie auf die EXE klicken, wird für einige Minuten das folgende Bild angezeigt.
Für Mac müssen Sie dmg installieren
Schritt 5) Als nächstes sehen Sie das Server-Startfenster. Es füllt die Standard-Host- und Port-Option aus, die Sie ändern können. Es erwähnt auch die Version von Appium verwendet werden.
Schritt 6) Wenn Sie auf die Schaltfläche Server starten klicken, wird ein neuer Server auf dem angegebenen Host und Port gestartet. Die Ausgabe des Serverprotokolls wird angezeigt.
Schritt 7) Klicken Sie auf Neues Sitzungsfenster.
Schritt 8) Sie können die gewünschten Fähigkeiten eingeben und eine Sitzung starten.
APPIUM-Inspektor
Ähnlich Selenium IDE-Aufnahme- und Wiedergabetool, Appium verfügt über einen „Inspektor“ zur Aufnahme und Wiedergabe. Es zeichnet das native Anwendungsverhalten auf, spielt es ab, indem es das DOM untersucht, und generiert die Testskripte in jeder gewünschten Sprache. Derzeit gibt es jedoch keine Unterstützung dafür Appium Inspektor für Microsoft Windows. in Windows, es startet die Appium Der Server kann die Elemente jedoch nicht prüfen. Der UIAutomator-Viewer kann jedoch als Option zum Überprüfen von Elementen verwendet werden.
Schritte für den Anfang Appium Inspektor auf einem Mac-Computer: –
Schritt 1) Laden Sie es herunter und starten Sie es Appium Server mit der Standard-IP-Adresse 0.0.0.0 und dem Port 4725.
- Wählen Sie die lokale Quelldatei oder die .app-Dateien zum Testen aus.
- 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 Testdatei auf dem lokalen Laufwerk zu durchsuchen und auszuwählen.
Schritt 3) Starten Sie den Simulator auf einem Mac-Computer.
Schritt 4) Klicken Sie oben rechts auf die Schaltfläche „Starten“, wodurch ein blaues Farbsymbol aktiviert wird. Klicken Sie erneut auf dieses blaue Farbsymbol, es öffnet sich Appium Inspektor und Simulator mit einer vorgewählten Anwendung.
Schritt 5)– Starten Sie Ihre Appium Der Inspector zeigt die Elementhierarchie in einer spaltenweisen Struktur an. Außerdem kann ein Benutzer Aktionen mithilfe von Schaltflächen wie Tippen, Wischen usw. ausführen.
Schritt 6) Klicken Sie auf die Schaltfläche „Stop“, um die Aufnahme zu stoppen.
Anfügen Android Emulator zu Appium
Schritt 1) Installieren Android SDK in 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 „Umgebungsvariablen“ auf „Pfad“ und legen Sie die Variable ANDROID_HOME fest, die auf Ihr SDK-Verzeichnis verweist. Fügen Sie im Pfad den gesamten SDK-Ordnerpfad an.
z.B -
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Schritt 3) Deine Reise Android Emulator oder irgendein Anhang Android Gerät an Ihr System an (Stellen Sie sicher, dass Sie über Folgendes verfügen). Android Debugging-Option in Ihrem aktiviert Android Gerät. Um die Debugging-Option zu überprüfen. Gehen Sie zu Geräteeinstellungen >> Entwickleroptionen >> Aktivieren Sie „Debugging-Option“).
Schritt 4) Öffnen Sie die Eingabeaufforderung und navigieren Sie zu Ihrer Android SDK-Verzeichnis \platform-tools\ (z. B. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Schritt 5)– Führen Sie den Befehl „adb devices“ aus. Ihr verbundenes Gerät wird im Eingabeaufforderungsfenster aufgelistet. (In CMD schreiben Sie „>adb devices“ – dieser Befehl listet die verbundenen Emulatorinstanzen auf. Beispiel: adb –s emulator-5554 install )
Schritt 6)– Führen Sie den Befehl „adb start-server“ aus. Es wird der ADB-Server gestartet, der von verwendet wird Appium um Befehle an Sie zu senden Android Gerät.
Schritt 7) Navigieren Sie jetzt zu Appium Verzeichnis in Ihrem System und starten Sie Appium indem Sie auf klicken Appium.exe-Datei.
Schritt 8) Ändern Sie nicht die IP-Adresse oder Portnummer und klicken Sie auf die Schaltfläche „Starten“. Dein Appium Die Konsole beginnt bei 127.0.0.1:4723, wie unten gezeigt.
Schritt 9) Klicken Sie auf die Schaltfläche „Start“. Appium Der Server wurde auf Ihrem System gestartet.
APPIUM-Testfall für Native Android App (Rechner)
Schritt 1)) Laden Sie das ADT Eclipse-Plugin herunter oder laden Sie ADT separat herunter HIER
Schritt 2) Öffnen Eclipse und Erstellen Sie ein neues Projekt >> Paket >> Klasse
Schritt 3) Import Selenium Bibliothek und Testng in diesem neuen Projekt.
Schritt 4) Erstellen Sie jetzt ein kleines Testprogramm für „Calculator.app“, um zwei Zahlen zu summieren.
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.CapabilityType; 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 app-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"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using 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 edit box of the calculator by using By.tagName() 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(); } }
Appium Server und Android Emulator aus „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 angezeigt unter Eclipse Konsole mit a TestNG Rahmen.
Einschränkungen bei der Verwendung von APPIUM
- Appium unterstützt das Testen von nicht Android Version niedriger als 4.2
- Begrenzte Unterstützung für Hybrid-App-Tests. Beispiel: Es ist nicht möglich, die Umschaltaktion der Anwendung von der Web-App zur nativen App und umgekehrt zu testen.
- Keine Unterstützung zum Ausführen Appium Inspektor an Microsoft Windows.
Häufig auftretende Fehler und Schritte zur Fehlerbehebung in Appium
Fehler | Schritte zur Fehlerbehebung |
---|---|
Fehler: - Die folgenden gewünschten Funktionen werden benötigt, wurden aber nicht bereitgestellt: Gerätename, Plattformname | Fügen Sie die gewünschten Fähigkeiten hinzu: Gerätename, Plattformname im APPIUM-Skript. zB:capabilities.setCapability („Gerätename“, „Emulator“);capabilities.setCapability („Plattformname“,Android"); |
Fehler: ADB konnte nicht gefunden werden. Bitte setzen Sie die Umgebungsvariable ANDROID_HOME mit dem Android SDK-Stammverzeichnispfad. | Sie müssen wahrscheinlich den SDK-Stammverzeichnispfad in den „Umgebungsvariablen“ des Systems in der Spalte „Pfad“ einrichten |
Fehler:org.openqa.selenium.SessionNotCreatedException: Eine neue Sitzung konnte nicht erstellt werden. | Sie müssen einen korrekten App-Pfad festlegen und die App neu starten Appium Server. |
So finden Sie ein DOM-Element oder XPath in einer mobilen Anwendung? | Verwenden Sie „UIAutomatorviewer“, um das DOM-Element zu finden Android Anwendung. |