Dieses Tutorial hilft Ihnen, das APPIUM-Automatisierungstool zu verstehen. Es wird die gewünschten Funktionen und APPIUM mit Maven-Anwendungen abdecken.
In diesem Tutorial lernen Sie:
- Was sind gewünschte Funktionen?
- Informationen zu Paketen und Aktivitäten extrahieren
Was sind gewünschte Funktionen?
'Gewünschte Funktionen' helfen uns, das Verhalten des Servers während der Automatisierung zu ändern. In Appium handelt es sich um eine Art Hashmap oder Schlüssel-Wert-Paar, mit dem ein Befehl an den APPIUM-Server gesendet wird. In APPIUM werden alle Clientbefehle im Kontext einer Sitzung ausgeführt.
Beispielsweise hat ein Client eine POST- / Sitzungsanforderung mit einem JSON-Objekt an den APPIUM-Server gesendet.
Um eine gewünschte Anfrage zu senden oder eine gewünschte Sitzung mit dem Server aufrechtzuerhalten, wird daher ein Satz von Schlüssel- und Wertepaaren verwendet. Dies wird als "Gewünschte Funktionen" bezeichnet.
import io.appium.java_client.AppiumDriver;import org.openqa.selenium.remote.DesiredCapabilities;{DesiredCapabilities-Funktionen = neue DesiredCapabilities ();Capabilities.setCapability ("Gerätename", "Android Emulator");Capabilities.setCapability ("platformVersion", "4.4");}}
Wichtige Rolle der gewünschten Fähigkeit
- 'DesiredCapabilities' helfen dem Benutzer, die Sitzungsanforderung mit dem Server zu steuern. Wenn wir beispielsweise eine iOS-Sitzung wünschen, können wir Capability als PlatformName = iOS festlegen. Wenn wir eine Android-Sitzung wünschen, können wir Capability als PlatformName = Android festlegen.
- 'DesiredCapabilities' werden verwendet, um die Webdriver-Instanz einzurichten, z. B.: FirefoxDriver, ChromeDriver, InternetExplorerDriver usw.
- DesiredCapability ist sehr nützlich für Selenium Grid. Beispiel: Es wird verwendet, um auf verschiedene Testfälle in einem anderen Browser und einem anderen Betriebssystem zuzugreifen. Basierend auf dem erwähnten DesiredCapability Grid zeigt der Hub auf den entsprechenden Knoten. Hier werden diese Knoten mit der Eigenschaftsmethode 'set' definiert, z. B.: -
DesiredCapabilities obj = new DesiredCapabilities ();obj.setBrowserName ("Firefox");obj.setVersion ("18.0.1");obj.setPlatform (org.openqa.selenium.Platform.WINDOWS);
- Eine gewünschte Funktion ist ein bibliotheksdefiniertes Paket. Vor der Verwendung von 'DesiredCapabilities' sollte es aus der unten genannten Bibliothek importiert werden
Org.openqa.selenium.remote.DesiredCapabilities
APPIUM unterstützt sowohl Android als auch iOS. Daher gibt es einen separaten Satz von Appium-Serverfunktionen.
Die folgende Tabelle zeigt einige häufig verwendete Android-Funktionen und deren Nutzungswert.
Fähigkeiten | Beschreibung | Werte / Verwendungen |
---|---|---|
appPackage | Rufen Sie das gewünschte Java-Paket in Android auf, das der Benutzer ausführen möchte | Value = com.example.myapp / Obj.setCapability ("appPackage", "com.whatsapp"); |
appActivity | Anwendungsaktivität, die der Benutzer über das Paket starten möchte. | Wert = MainActivity, .Settings Obj.setCapability ("appActivity", "com.whatsapp.Main"); |
appWaitPackage | Paket, auf das die Anwendung warten muss | Wert = com.example.android.myapp |
appWaitActivity | Alle Android-Aktivitäten, für die der Benutzer eine Wartezeit benötigt | Wert = SplashActivity Capabilities.setCapability ("appWaitActivity", "com.example.game.SplashActivity") |
HINWEIS - Weitere Android-Funktionen finden Sie unter diesem Link "https://appium.io/docs/en/writing-running-appium/caps/#android-only"
In der folgenden Tabelle sind einige häufig verwendete iOS-Funktionen und ihr zu verwendender Wert aufgeführt.
Fähigkeiten | Beschreibung | Werte |
---|---|---|
LaunchTimeout | Gesamtzeit (in ms), um auf die Instrumentierung zu warten. | 2000 |
DU TATEST | Identifizieren der eindeutigen Gerätenummer für das angeschlossene physische Gerät | 166aestu4 |
HINWEIS: Weitere iOS- Funktionen finden Sie unter diesem Link "http://appium.io/slate/en/master/?java#ios-only"
Informationen zu Paketen und Aktivitäten extrahieren
Pakete beziehen sich auf gebündelte Dateien oder Klassen. Es gibt der modularen Programmierung eine organisierte Struktur. In Java werden verschiedene Pakete in einer einzigen Jar-Datei gespeichert. Der Benutzer kann die JAR-Datei einfach zur vollständigen Ausführung aufrufen. Ähnliche Konzepte folgten in der Entwicklungswelt für mobile Anwendungen.
Unter Android werden alle Anwendungen in Form von JAVA-Paketen installiert. Daher wird zum Extrahieren von Paketpfadinformationen die Android PackageManager-Klasse verwendet.
Es ruft Paket- und Aktivitätsinformationen der vor und nach der Installation installierten Anwendung ab. Es ist auf Android-Geräten installiert.
Sie können eine Instanz der PackageManager-Klasse abrufen, indem Sie getPackageManager () aufrufen.
Diese Methode kann auf die Pakete und die zugehörigen Berechtigungen der installierten Anwendungen zugreifen und diese bearbeiten.
Zum Beispiel -
PackageManager pManager = getPackageManager ();Listlist = pManager.getInstalledApplications (PackageManager.GET_META_DATA)
Zusammenfassung:
- Die gewünschte Fähigkeit wird immer für das Schlüssel-Wert-Paar ausgeführt, um den Befehl an APPIUM Server zu senden.
- Verwenden Sie die 'PackageManager'-Klasse, um Anwendungsinformationen in Android zu extrahieren.