web-dev-qa-db-fra.com

Quelle est l'utilisation de DesiredCapabilities dans Selenium WebDriver?

Quelle est l'utilisation de DesiredCapabilities dans Selenium WebDriver?

Quand on veut utiliser ça et comment?

Répondre avec exemple serait apprécié.

34
bugCracker

Vous devriez lire la documentation sur DesiredCapabilities . Il existe également une page différente pour le ChromeDriver . Javadoc de Capabilities:

Capacités: Décrit une série de paires clé/valeur qui encapsulent les aspects d’un navigateur.

Fondamentalement, l’aide DesiredCapabilities permet de définir les propriétés du WebDriver. Un cas d'utilisation typique serait de définir le chemin d'accès pour la FirefoxDriver si votre installation locale ne correspond pas aux paramètres par défaut.

26
LaurentG
  1. C'est une classe dans le package org.openqa.Selenium.remote.DesiredCapabilities.
  2. Il donne la possibilité de définir les propriétés du navigateur. Tels que définir BrowserName, Platform, Version du navigateur.
  3. Classe Mostly DesiredCapabilities utilisée lorsque nous avons utilisé Selenium Grid.
  4. Nous devons exécuter plusieurs cas de test sur plusieurs systèmes avec un navigateur différent, une version différente et un système d'exploitation différent.

Exemple:

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

Je sais que je suis très en retard pour répondre à cette question.
Mais voudrions ajouter des références supplémentaires aux réponses données.
DesiredCapabilities sont utilisés comme paramétrer votre config avec une paire clé-valeur.
Voici un exemple lié à Appium utilisé pour l’automatisation de plates-formes mobiles telles que Android et IOS.
Donc, nous avons généralement défini DesiredCapabilities pour transmettre notre WebDriver à des choses spécifiques dont nous aurons besoin pour exécuter notre test afin de réduire les performances et d’augmenter la précision. 

Nous avons donc défini notre DesiredCapabilities comme: 

// 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.

// Vous devez vérifier votre appPackage Name pour votre application, vous pouvez utiliser cette application pour cela 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");

Ces DesiredCapabilities sont très spécifiques à Appium sur la plate-forme Android .. Pour plus d’informations, vous pouvez vous reporter au site officiel de la classe Selenium désirée des capacités

5
Gaurav Lad

DesiredCapabilities sont des options que vous pouvez utiliser pour personnaliser et configurer une session de navigateur. 

Vous pouvez en savoir plus à leur sujet ici !

3
Shiv

Les fonctionnalités souhaitées sont pratiques lors d’une exécution à distance ou en parallèle à l’aide de la grille Selenium. Nous allons paramétrer les détails du navigateur et les transmettre au serveur Selenium en utilisant la classe de capacités souhaitée.

Une autre utilisation est l'automatisation des tests à l'aide d'Appium comme indiqué ci-dessous

// 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

Lorsque vous exécutez Selenium WebDriver, WebDriver ouvre un serveur distant dans l'hôte local de votre ordinateur. Désormais, ce serveur, appelé serveur Selenium, est utilisé pour interpréter votre code en actions permettant d’exécuter ou de "piloter" l’instance d’un véritable navigateur, soit chromebrowser, c'est-à-dire broser, ff browser, etc. interagir avec différentes propriétés du navigateur et par conséquent, il possède de nombreuses "capacités". Alors, quelles capacités désirez-vous? Envisagez un scénario dans lequel vous validez si les fichiers ont été téléchargés correctement dans votre application, sans toutefois disposer d'un outil d'automatisation du bureau. Ainsi, dans le cas où vous cliquez sur le lien de téléchargement et qu'une fenêtre contextuelle du bureau apparaît pour vous demander où enregistrer et/ou si vous souhaitez télécharger. Votre prochain itinéraire à éviter serait de supprimer cette fenêtre contextuelle. Comment? Capacités de désir. Et d'autres exemples similaires. En résumé, Selenium Server peut faire beaucoup, utilisez les fonctionnalités souhaitées pour l’adapter à vos besoins. 

0
Miadnew