Gewünschte Fähigkeiten
Gewünschte Funktionen ist eine Klasse in Selenium, mit der Eigenschaften von Browsern festgelegt werden, um browserübergreifende Tests von Webanwendungen durchzuführen. Die Funktionen werden als Schlüssel-Wert-Paare gespeichert. Mit diesen Funktionen werden Browsereigenschaften wie Browsername, Browserversion, Pfad des Browsertreibers im System usw. festgelegt, um das Verhalten des Browsers zur Laufzeit zu bestimmen.
- Die gewünschte Funktion kann auch zum Konfigurieren der Treiberinstanz von Selenium WebDriver verwendet werden.
- Wir können Treiberinstanzen wie FirefoxDriver, ChromeDriver und InternetExplorerDriver mithilfe der gewünschten Funktionen konfigurieren.
In diesem Tutorial lernen Sie:
- Was ist die gewünschte Fähigkeit?
- Warum brauchen wir gewünschte Fähigkeiten?
- Verschiedene Arten von Methoden für gewünschte Funktionen
- Beispiel für die Set-Capability-Methode
Warum brauchen wir gewünschte Fähigkeiten?
Gewünschte Funktionen sind erforderlich, da jedes Testszenario in einer bestimmten Testumgebung ausgeführt werden sollte. Die Testumgebung kann ein Webbrowser, ein mobiles Gerät, ein mobiler Emulator, ein mobiler Simulator usw. sein. Mit der Klasse "Gewünschte Funktionen" können wir dem Web-Treiber mitteilen, welche Umgebung wir in unserem Testskript verwenden werden.
Die setCapability-Methode der DesiredCapabilities-Klasse, die im späteren Teil des Lernprogramms erläutert wird, kann in Selenium Grid verwendet werden. Es wird verwendet, um eine parallele Ausführung auf verschiedenen Maschinenkonfigurationen durchzuführen.
Bsp.: Gitter
Hiermit werden die Browsereigenschaften (z. B. Chrome, IE) und der Plattformname (z. B. Linux, Windows) festgelegt, die beim Ausführen der Testfälle verwendet werden.
Bei der mobilen Automatisierung kann bei der Durchführung der Tests auf verschiedenen Arten von Mobilgeräten die Plattformversion der mobilen Plattform (z. B. iOS, Android) (z. B. 3.x, 4.x in Android) festgelegt werden.
Das obige Emulatorbeispiel zeigt das Plattformset für Android und das Plattformversionsset für IceCream Sandwich (4.x).
Gewünschte Funktionen sind in folgenden Fällen nützlicher:
- In der Automatisierung mobiler Anwendungen, in der die Browsereigenschaften und die Geräteeigenschaften festgelegt werden können.
- In Selenium Grid, wenn wir die Testfälle in einem anderen Browser mit verschiedenen Betriebssystemen und Versionen ausführen möchten.
Verschiedene Arten von Methoden für gewünschte Funktionen
Hier sehen wir eine andere Art von gewünschten Fähigkeitsmethoden und sehen, wie eine dieser Methoden " setCapability Method" verwendet wird.
- getBrowserName ()
public java.lang.String getBrowserName ()
- setBrowserName ()
public void setBrowserName (java.lang.String browserName)
- getVersion ()
public java.lang.String getVersion ()
- setVersion ()
public void setVersion (java.lang.String-Version)
- getPlatform ()
öffentliche Plattform getPlatform ()
- setPlatform ()
öffentliche Plattform setPlatform ()
- getCapability-Methode
Die getCapability-Methode der DesiredCapabilities-Klasse kann verwendet werden, um die derzeit im System verwendete Funktion abzurufen.
public java.lang.Object getCapability (java.lang.String CapabilityName)
- setCapability () -Methode
Die setCapability () -Methode der Desired Capabilities-Klasse wird verwendet, um die Eigenschaft einer Testumgebung wie Gerätename, Betriebssystemname und -version, Browsername und -version, absoluter Pfad der zu testenden App (die APK-Datei der Android-App) festzulegen im Test), App-Aktivität (in Android) und AppPackage (in Java).
"setCapability method" in Java hat die folgenden Deklarationen:
setCapability: public void setCapability (java.lang.String CapabilityName, boolescher Wert)
setCapability: public void setCapability (java.lang.String CapabilityName, java.lang.String-Wert)
setCapability: public void setCapability (java.lang.String CapabilityName, Plattformwert)
setCapability: public void setCapability (java.lang.String-Schlüssel, java.lang.Object-Wert)
Beispiel für die Set-Capability-Methode
Betrachten wir ein Beispiel, in dem wir unseren Testfall im Internet Explorer ausführen möchten, um die Website www.gmail.com mit Selenium Webdriver zu öffnen.
Es folgt der Code.
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;öffentliche Klasse IEtestforDesiredCapabilities {public static void main (String [] args) {WebDriver-Treiber = neuer InternetExplorerDriver ();driver.manage (). window (). maxim ();driver.get ("http://gmail.com");driver.quit ();}}}}
Führen Sie nun diesen Code in Eclipse aus und überprüfen Sie die Konsole.
Ausgabe:
Es wird der folgende Fehler ausgegeben, wenn der obige Code ausgeführt wird. Der Fehler tritt auf, weil der Pfad zum Browsertreiber (im obigen Fall IE) nicht festgelegt ist. Der Browser konnte vom Selenium-Code nicht gefunden werden.
Der Pfad zur ausführbaren Treiberdatei muss von der Systemeigenschaft webdriver.ie.driver festgelegt werden. Weitere Informationen finden Sie unter http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Die neueste Version kann von http://code.google.com/p/selenium/downloads/list heruntergeladen werden
11. Dezember 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib
WARNUNG: Diese Methode zum Starten des IE-Treibers ist veraltet und wird in Selen 2.26 entfernt. Laden Sie die Datei IEDriverServer.exe von http://code.google.com/p/selenium/downloads/list herunter und stellen Sie sicher, dass sie sich in Ihrem Pfad befindet.
Lösung :
Die Lösung für das obige Problem finden Sie im Warnabschnitt des Fehlers.
- Laden Sie den eigenständigen Internet ExplorerDriver-Server für 32-Bit oder 64-Bit herunter.
- Speichern Sie den Treiber an einem geeigneten Ort im System.
- Legen Sie den Pfad für den Treiber mithilfe der System.setProperty- Methode fest.
- Es wird verwendet, um den IE-Treiber mit der Webdriver-Eigenschaft festzulegen. Es ist hilfreich, die ausführbare Datei des Treibers zu finden, die am Systemspeicherort gespeichert ist. (Beispiel: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;öffentliche Klasse IEtestforDesiredCapabilities {public static void main (String [] args) {// wird verwendet, um die IE-Fähigkeit zu definierenDesiredCapabilities functions = DesiredCapabilities.internetExplorer ();Capabilities.setCapability (CapabilityType.BROWSER_NAME, "IE");Capabilities.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// wird verwendet, um den IE-Treiber zu initialisierenWebDriver-Treiber = neuer InternetExplorerDriver (Funktionen);driver.manage (). window (). maxim ();driver.get ("http://gmail.com");driver.quit ();}}}}
Code Erläuterung:
Im obigen Code
- Die Importanweisungen dienen zum Importieren der erforderlichen Pakete für den Selenium-Webtreiber, der erforderlichen Pakete für den Internet Explorer-Treiber und der Pakete für die gewünschten Funktionen.
- setCapability verwendet die verschiedenen Funktionen als Eingabevariablen, die dann vom Webtreiber verwendet werden, um die Anwendung in der gewünschten Umgebung zu starten.
- Mit setProperty wird der Pfad festgelegt, in dem sich der Treiber befindet. Der Webtreiber sucht dann den erforderlichen Treiber.
- Die Google Mail-Website wird im Internet Explorer-Browser mit der Methode "get" geöffnet.
Ausgabe:
Der Testfall im Internet Explorer-Browser wird erfolgreich mit Selenium Webdriver ausgeführt.
Fazit
Die Klasse Desired Capabilities hilft dabei, eine Umgebung festzulegen, in der das Verhalten des Browsers / der Umgebung definiert wird, in dem der Test ausgeführt werden kann.
Es ist hilfreich, unsere Anwendung in der gewünschten Umgebung mit den Funktionen zu starten, die wir verwenden möchten.
Dieser Artikel wurde von Krithika Ramkumar verfasst