À 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é.
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.
- C'est une classe
org.openqa.selenium.remote.DesiredCapabilities
paquet. - il permet de définir les propriétés du navigateur. Comme pour définir BrowserName, plate-forme, Version de navigateur.
- classe de capacité principalement désirée utilisée quand avons-nous utilisé la grille de sélénium.
- 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);
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 à Appium
Android
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
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");
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.