Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?
Wann wollen wir das nutzen und wie?
Antwort mit Beispiel würde geschätzt werden.
Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?
Wann wollen wir das nutzen und wie?
Antwort mit Beispiel würde geschätzt werden.
Sie sollten die Dokumentation über DesiredCapabilities lesen. Es gibt auch eine andere Seite für die ChromeDriver. Javadoc von Capabilities
:
Capabilities: Beschreibt eine Reihe von Schlüssel/Wert-Paaren, die Aspekte eines Browsers kapseln.
Grundsätzlich kann die DesiredCapabilities
Hilfe Eigenschaften für den WebDriver festlegen. Ein typischer Anwendungsfall wäre, den Pfad für FirefoxDriver
festzulegen, wenn die lokale Installation nicht den Standardeinstellungen entspricht.
DesiredCapabilities
sind Optionen, mit denen Sie eine Browsersitzung anpassen und konfigurieren können.
Sie können mehr über sie lesen here!
org.openqa.selenium.remote.DesiredCapabilities
Paket.Beispiel:
WebDriver driver;
String baseUrl , nodeUrl;
baseUrl = "https://www.facebook.com";
nodeUrl = "http://192.168.10.21:5568/wd/hub";
DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setBrowserName("firefox");
capability.setPlatform(Platform.WIN8_1);
driver = new RemoteWebDriver(new URL(nodeUrl),capability);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES);
Ich weiß, ich bin sehr spät, diese Frage zu beantworten.
Aber möchte für weitere Hinweise auf die Antworten geben hinzufügen.
DesiredCapabilities
werden wie die Einstellung Ihrer Konfiguration mit Schlüssel-Wert-Paar verwendet.
Unten finden Sie ein Beispiel für Appium
, das für die Automatisierung mobiler Plattformen wie Android
und IOS
verwendet wird.
Also setzen wir im Allgemeinen DesiredCapabilities
für die Übermittlung unserer WebDriver
für bestimmte Dinge, die wir unseren Test durchführen müssen, um die Leistung zu begrenzen und die Genauigkeit zu erhöhen. So
setzen wir unsere DesiredCapabilities als:
// Created object of DesiredCapabilities class.
DesiredCapabilities capabilities = new DesiredCapabilities();
// Set android deviceName desired capability. Set your device name.
capabilities.setCapability("deviceName", "your Device Name");
// Set BROWSER_NAME desired capability.
capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome");
// Set android VERSION desired capability. Set your mobile device's OS version.
capabilities.setCapability(CapabilityType.VERSION, "5.1");
// Set android platformName desired capability. It's Android in our case here.
capabilities.setCapability("platformName", "Android");
// Set android appPackage desired capability.
// Sie müssen für Ihre appPackage Namen für Ihre Anwendung zu überprüfen, können Sie diese App für das APK INFO
// Set your application's appPackage if you are using any other app.
capabilities.setCapability("appPackage", "com.android.appPackageName");
// Set android appActivity desired capability. You can use the same app for finding appActivity of your app
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
können
Diese DesiredCapabilities
sind sehr spezifisch für Appium
auf Android
Plattform. Weitere Sie auf der offiziellen Website von Selen desiredCapabilities class
Die gewünschte Funktion ist eine Reihe von Schlüssel/Wert-Paare beziehen können, die die Browser-Eigenschaften wie browser, Browser-Version, dem Pfad des Browsers Treiber im System speichert, usw. 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, InternetExplorerDriver mit den gewünschten Funktionen konfigurieren. Gewünschte Funktionen sind nützlicher in Fällen wie:
In der mobilen Anwendungsautomatisierung, wo die Browsereigenschaften und die Geräteeigenschaften festgelegt werden können. In Selen Grid, wenn wir die Testfälle auf einem anderen Browser mit verschiedenen Betriebssystemen und Versionen ausführen möchten.
Gewünschte Funktionen sind praktisch, wenn Sie eine Remote- oder parallele Ausführung mit Selen-Grid durchführen. Wir werden die Browserdetails parametrisieren und mit Hilfe der gewünschten Fähigkeitsklasse an den Selenserver übergeben.
Eine andere Anwendung ist, Testautomatisierung Appium wie unten
// Created object of DesiredCapabilities class. DesiredCapabilities capabilities = new DesiredCapabilities(); // Set android deviceName desired capability. Set your device name. capabilities.setCapability("deviceName", "your Device Name"); // Set BROWSER_NAME desired capability. capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); // Set android VERSION desired capability. Set your mobile device's OS version. capabilities.setCapability(CapabilityType.VERSION, "5.1"); // Set android platformName desired capability. It's Android in our case here. capabilities.setCapability("platformName", "Android");
gezeigt Wenn Sie Selen WebDriver ausführen, öffnet sich das WebDriver einen Remote-Server in lokalen Host Ihres Computers. Jetzt wird dieser Server, der selen-Server genannt, benutzt, um Ihren Code in Aktionen zu interpretieren, um die Instanz eines echten Browsers namens chroebrowser, dh broser, ff-Browser usw., auszuführen oder zu "fahren" interagieren mit verschiedenen Browsereigenschaften und haben daher viele "Fähigkeiten". Welche Fähigkeiten wünschen Sie sich? Stellen Sie sich ein Szenario vor, in dem Sie prüfen, ob Dateien in Ihrer App ordnungsgemäß heruntergeladen wurden, Sie jedoch kein Desktop-Automatisierungstool haben. Also, in dem Fall, wo Sie auf den Download-Link klicken und ein Desktop-Popup erscheint, um zu fragen, wo Sie speichern und/oder wenn Sie herunterladen möchten. Ihre nächste Route, die Sie umgehen müssten, wäre, das Popup zu unterdrücken. Wie? Wunschfähigkeiten. Und andere solche Beispiele. Zusammenfassend kann gesagt werden, dass Selenium Server viel kann und die gewünschten Fähigkeiten nutzt, um es an Ihre Bedürfnisse anzupassen.
[Soße Labs (link)] (https://saucelabs.com/docs/platforms) Plattformen zeigen ein gutes Beispiel. Auf der rechten Seite befindet sich ein Feld, in dem die DesiredCapabilities aufgeführt sind, die Sie mit einer RemoteWebDriver-Instanz verwenden, um einen RemoteWebServer mit dieser Plattform/diesem Browser von Socees Service anzufordern. –