it-swarm.com.de

Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?

Was ist die Verwendung von DesiredCapabilities in Selenium WebDriver?

Wann möchten wir das nutzen und wie?

Antwort mit Beispiel wäre dankbar.

34
bugCracker

Sie sollten die Dokumentation zu DesiredCapabilities lesen. Es gibt auch eine andere Seite für den ChromeDriver . Javadoc von Capabilities:

Funktionen: Beschreibt eine Reihe von Schlüssel/Wert-Paaren, die Aspekte eines Browsers kapseln.

Grundsätzlich hilft DesiredCapabilities dabei, Eigenschaften für den WebDriver festzulegen. Eine typische Anwendung wäre, den Pfad für FirefoxDriver festzulegen, wenn Ihre lokale Installation nicht den Standardeinstellungen entspricht.

26
LaurentG
  1. Es ist eine Klasse im org.openqa.Selenium.remote.DesiredCapabilities-Paket.
  2. Es gibt die Möglichkeit, die Eigenschaften des Browsers einzustellen. B. BrowserName, Plattform, Version des Browsers.
  3. Meistens wird die DesiredCapabilities-Klasse verwendet, wenn Selenium Grid verwendet wurde.
  4. Wir müssen mehrere Testfälle auf mehreren Systemen mit unterschiedlichen Browsern mit unterschiedlicher Version und unterschiedlichem Betriebssystem ausführen.

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);
14
Avinash Pande

Ich weiß, dass ich sehr spät komme, um diese Frage zu beantworten.
.__, möchte jedoch weitere Hinweise zu den gegebenen Antworten hinzufügen.
DesiredCapabilities wird verwendet, um Ihre Konfiguration mit einem Schlüssel-Wert-Paar festzulegen.
Nachfolgend finden Sie ein Beispiel für Appium, das für die Automatisierung von mobilen Plattformen wie Android und IOS verwendet wird.
Wir setzen im Allgemeinen DesiredCapabilities für die Übermittlung unserer WebDriver für bestimmte Dinge, die wir benötigen, um unseren Test durchzuführen, um die Leistung einzuschränken und die Genauigkeit zu erhöhen. 

Also setzen wir unsere DesiredCapabilities so: 

// 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 nach Ihrem appPackage-Namen für Ihre App suchen. Sie können diese App für diese APK INFO verwenden.

// 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");

Diese DesiredCapabilities sind sehr spezifisch für Appium auf Android Platform . Weitere Informationen finden Sie auf der offiziellen Website von Selenium gewünschteCapabilities-Klasse .

5
Gaurav Lad

DesiredCapabilities sind Optionen, mit denen Sie eine Browsersitzung anpassen und konfigurieren können. 

Sie können mehr darüber lesen hier !

3
Shiv

Die gewünschten Funktionen sind praktisch, wenn Sie Remote- oder Parallel-Ausführung mit Selenium-Raster ausführen. Wir werden die Browser-Details parametrieren und mit der gewünschten Funktionsklasse an den Selenium-Server übergeben.

Eine andere Verwendung ist die Testautomatisierung mit Appium, wie unten gezeigt

// 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"); 
0
santhosh kumar

Wenn Sie Selenium WebDriver ausführen, öffnet der WebDriver einen Remote-Server im lokalen Host Ihres Computers. Jetzt wird dieser Server, der Selenium-Server genannt wird, dazu verwendet, Ihren Code in Aktionen zu interpretieren, um die Instanz eines realen Browsers auszuführen, der als Chrombrowser bezeichnet wird, dh broser, ff-Browser usw. Der Selenium-Server kann dies also mit verschiedenen Browsereigenschaften interagieren und daher viele "Funktionen" haben. Welche Fähigkeiten wünschst du dir also? Stellen Sie sich ein Szenario vor, in dem Sie überprüfen, ob Dateien ordnungsgemäß in Ihre App heruntergeladen wurden, Sie jedoch kein Desktop-Automatisierungstool besitzen. Wenn Sie also auf den Download-Link klicken und ein Desktop-Popup-Fenster erscheint, werden Sie gefragt, wo gespeichert werden soll und/oder ob Sie herunterladen möchten. Ihr nächster Weg, um dies zu umgehen, wäre, dieses Popup zu unterdrücken. Wie? Desire-Fähigkeiten. Und andere Beispiele. Zusammenfassend kann Selenium Server viel tun und die gewünschten Funktionen verwenden, um es an Ihre Bedürfnisse anzupassen. 

0
Miadnew