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

  1. Installieren Sie ANDROID SDK (Studio)[Link]-
  2. Installieren Sie JDK (Java Entwicklungskit) [Link]
  3. Installieren Eclipse [Link]
  4. Installieren Sie TestNg für Eclipse [Link]
  5. Installieren Selenium Server-JAR [Link]
  6. Appium Client-Bibliothek[Link]
  7. APK-App-Info bei Google Play [Link]
  8. 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.)
  9. 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.

Installieren Appium Desktop

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.

Installieren Appium Desktop

Schritt 3) Klicken Sie auf die heruntergeladene exe.

Installieren Appium Desktop

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.

Installieren Appium Desktop

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.

Installieren Appium Desktop

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.

Installieren Appium Desktop

Schritt 7) Klicken Sie auf Neues Sitzungsfenster.

Installieren Appium Desktop

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

Installieren Appium Desktop

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.

  1. Wählen Sie die lokale Quelldatei oder die .app-Dateien zum Testen 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 Testdatei auf dem lokalen Laufwerk zu durchsuchen und auszuwählen.

APPIUM-Inspektor

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.

APPIUM-Inspektor

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.

APPIUM-Inspektor

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“.

Anfügen Android Emulator zu Appium

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

Anfügen Android Emulator zu Appium

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 )

Anfügen Android Emulator zu Appium

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.

Anfügen Android Emulator zu Appium

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

  1. Appium unterstützt das Testen von nicht Android Version niedriger als 4.2
  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.
  3. 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.