Gewünschte Fähigkeiten in Selenium WebTreiber
⚡ Intelligente Zusammenfassung
Gewünschte Fähigkeiten ist ein Selenium Klasse, die Browser-, Plattform- und Geräteeinstellungen als Schlüssel-Wert-Paare speichert und es so ermöglicht, mit einer einzigen Testsuite viele Umgebungen anzusprechen. Selenium Grid-, Cloud-Grid- und mobile Automatisierung.
Was sind gewünschte Fähigkeiten?
Gewünschte Fähigkeiten ist eine Klasse in Selenium Wird verwendet, um Eigenschaften von Browsern festzulegen, um browserübergreifende Tests von Webanwendungen durchzuführen. Es speichert die Funktionen als Schlüssel-Wert-Paare und diese Funktionen werden zum Festlegen von Browsereigenschaften wie Browsername, Browserversion, Pfad des Browsertreibers im System usw. verwendet, um das Verhalten des Browsers zur Laufzeit zu bestimmen.
- Die gewünschte Funktion kann auch zum Konfigurieren der Treiberinstanz von verwendet werden Selenium WebDriver.
- Wir können eine Treiberinstanz wie konfigurieren FirefoxTreiber, ChromeDriver, InternetExplorerDriver durch Verwendung der gewünschten Funktionen.
Versionshinweis: Selenium 4 ersetzt DesiredCapabilities durch Browser-Optionsklassen — ChromeOptions, FirefoxOptionen, EdgeOptions, InternetExplorerOptions. Die folgenden Beispiele behalten die ursprüngliche Syntax bei.
Warum brauchen wir gewünschte Fähigkeiten?
Die gewünschten Fähigkeiten werden benötigt, weil jeder Tests Das Szenario sollte in einer bestimmten Testumgebung ausgeführt werden. Die Testumgebung kann ein Webbrowser sein, Mobil Gerät, mobiler Emulator, mobiler Simulator usw. Die Desired Capabilities Class hilft uns, dem WebDriver mitzuteilen, welche Umgebung wir in unserem Testskript verwenden werden.
Die Methode setCapability der Klasse DesiredCapabilities, die im weiteren Verlauf dieser Seite erläutert wird, kann verwendet werden in Selenium Grid. Es wird verwendet, um eine parallele Ausführung auf unterschiedlichen Maschinenkonfigurationen.
Beispiel: Raster (siehe unten).
Es wird verwendet, um die Browsereigenschaften (z. B. Chrome, IE), den Plattformnamen (z. B. Linux, Windows) die während der Ausführung verwendet werden Testfall.
Im Fall der mobilen Automatisierung führen wir die Tests auf verschiedenen Arten mobiler Geräte durch, wobei die mobile Plattform (z. B. iOS, Android) Plattformversion (Bsp. 3.x, 4.x in Android) kann eingestellt werden.
Das unten stehende Emulatorbeispiel zeigt die Plattformeinstellung Android und die Plattformversionseinstellung Ice Cream Sandwich (4.x).
Gewünschte Fähigkeiten sind in folgenden Fällen nützlicher:
- Bei der Automatisierung mobiler Anwendungen können die Browsereigenschaften und die Geräteeigenschaften festgelegt werden.
- In Selenium Grid, wenn wir die Testfälle auf einem anderen Browser mit unterschiedlichen Betriebssystemen und Versionen ausführen möchten.
Arten der gewünschten Fähigkeitsmethoden
Hier sehen wir die verschiedenen Desired Capabilities-Methoden und wie man eine davon, die setCapability()-Methode, verwendet.
#1) getBrowserName()
public java.lang.String getBrowserName()
#2) setBrowserName()
public void setBrowserName(java.lang.String browserName)
#3) getVersion()
public java.lang.String getVersion()
#4) setVersion()
public void setVersion(java.lang.String version)
#5) getPlatform()
public Platform getPlatform()
#6) setPlatform()
public Platform setPlatform()
#7) getCapability()-Methode
Die Methode getCapability() der Klasse DesiredCapabilities kann verwendet werden, um die Funktion abzurufen, die derzeit im System verwendet wird.
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability()-Methode
Die Methode `setCapability()` der Klasse `Desired Capabilities` dient dazu, Eigenschaften einer Testumgebung festzulegen, wie z. B. Gerätename, Name und Version des Betriebssystems, Name und Version des Browsers sowie den absoluten Pfad der zu testenden Anwendung (der .apk-Datei). Android getestete App), App-Aktivität (in Android) und appPackage (in Java).
„setCapability-Methode“ in Java hat die folgenden Erklärungen:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
Legen Sie die Fähigkeit fest Selenium Beispiel
Betrachten wir ein Beispiel, bei dem wir unseren Testfall im Internet Explorer-Browser ausführen möchten, um die Website www.gmail.com zu öffnen. Selenium WebDriver.
Nachfolgend der Code.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Führen Sie nun diesen Code aus Eclipse und schauen Sie sich die Konsole an.
Ausgang:
Beim Ausführen des obigen Codes wird folgender Fehler ausgegeben. Der Fehler tritt auf, weil der Pfad zum Browsertreiber (im obigen Fall Internet Explorer) nicht festgelegt ist. Der Browser konnte nicht gefunden werden. Selenium Code.
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
Lösung:
Die Lösung für das obige Problem finden Sie im Warnabschnitt des Fehlers selbst.
- 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 Methode `System.setProperty` fest. Diese Methode wird verwendet, um den IE-Treiber mit der WebDriver-Eigenschaft zu konfigurieren. Sie hilft dabei, die im Systemverzeichnis gespeicherte ausführbare Treiberdatei zu finden (z. B. „C:\IEDriverLocation\IEDriver.exe“).
Versionshinweis: Selenium 4.6 und höher lösen den Treiber automatisch auf durch Selenium Da es sich um einen Manager handelt, ist System.setProperty optional. Der unten stehende historische Code bleibt unverändert.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = 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"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Code Erläuterung:
Im obigen Code,
- Die Importanweisungen importieren die benötigten Pakete für die Selenium WebDriver, die erforderlichen Pakete für den Internet Explorer-Treiber und die 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 zum Treiber festgelegt. WebDriver findet dann den benötigten Treiber.
- Gmail Die Website wird im Internet Explorer-Browser mit der Methode „get“ geöffnet.
Ausgang:
Der Testfall im Internet Explorer-Browser wird erfolgreich ausgeführt. Selenium WebDriver.


