À quoi servent les capacités désirées dans le WebDriver du sélénium?

Quelle est l'utilisation des capacités désirées dans le WebDriver du sélénium?

quand voulons-nous utiliser ceci et comment?

Réponse Avec exemple serait apprécié.

34
demandé sur Ripon Al Wasim 2013-07-08 17:30:36

6 réponses

Vous devriez lire la documentation sur DesiredCapabilities. Il y a aussi une page différente pour le ChromeDriver. Javadoc from Capabilities:

capacités: décrit une série de paires de clés/valeurs qui encapsulent des aspects d'un navigateur.

en gros, le DesiredCapabilities aide pour définir les propriétés du WebDriver. Une usecase typique serait de définir le chemin pour le FirefoxDriver si votre installation ne correspond pas à les paramètres par défaut.

25
répondu LaurentG 2017-07-24 19:25:06
  1. C'est une classe org.openqa.selenium.remote.DesiredCapabilities paquet.
  2. il permet de définir les propriétés du navigateur. Comme pour définir BrowserName, plate-forme, Version de navigateur.
  3. classe de capacité principalement désirée utilisée quand avons-nous utilisé la grille de sélénium.
  4. nous devons exécuter plusieurs tests sur plusieurs systèmes avec un navigateur différent avec 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);
13
répondu Avinash Pande 2015-09-15 13:51:23

je sais je suis très en retard pour répondre à cette question.

Mais voudrais ajouter pour plus de références à donner des réponses.

DesiredCapabilities sont utilisés comme paramétrer votre configuration avec une paire clé-valeur.

Ci-dessous est un exemple lié à une Appium utilisé pour automatiser les plateformes mobiles comme Android et IOS.

Donc, nous définissons généralement DesiredCapabilities pour le transport de nos WebDriver pour des choses spécifiques, nous aurons besoin d'exécuter notre test pour les performances et d'augmenter la précision.

nous définissons donc nos capacités désirées 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 Nom pour votre application, vous pouvez utiliser cette application pour ça 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");

DesiredCapabilities sont très spécifiques à AppiumAndroid Plate-forme. Pour plus d'informations, vous pouvez vous référer au site officiel du sélénium classe des capacités désirées

5
répondu Gaurav Lad 2016-07-05 06:29:03

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

Vous pouvez en lire plus sur eux ici!

3
répondu Shiv 2014-07-19 12:07:33

Les capacités souhaitées sont très utiles lors de l'exécution à distance ou en parallèle à l'aide de la grille de sélénium. Nous paramétrerons les détails du navigateur et passerons au serveur selenium en utilisant la classe de capacités désirée.

un autre usage est, test automation using 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
répondu santhosh kumar 2017-04-16 17:28:15

lorsque vous exécutez selenium WebDriver, le WebDriver ouvre un serveur distant dans l'hôte local de votre ordinateur. Maintenant, ce serveur, appelé selenium server, est utilisé pour interpréter votre code en actions pour exécuter ou "piloter" l'instance d'un vrai navigateur connu sous le nom de chromebrowser, c'est-à-dire broser, navigateur ff, etc. Ainsi, le sélénium serveur a peut interagir avec différentes propriétés du navigateur et donc il a beaucoup de "capacités". Donc, ce que les capacités désirez-vous? Imaginez un scénario où vous êtes valider si les fichiers ont été téléchargés correctement dans votre application, mais vous n'avez pas d'outil d'automatisation de bureau. Donc, dans le cas où vous cliquez sur le lien de téléchargement et un pop up de bureau apparaît pour demander Où sauvegarder et/ou si vous voulez télécharger. Votre prochaine route pour contourner serait de supprimer cette pop up. Comment? Le Désir De Capacités. Et, d'autres exemples de ce genre. En résumé, Selenium Server peut faire beaucoup, utiliser les capacités souhaitées pour l'adapter à vos besoins.

0
répondu Miadnew 2017-09-19 03:13:40