Capacités souhaitées en Selenium pilote web
⚡ Résumé intelligent
Les capacités souhaitées sont un Selenium classe qui stocke les paramètres du navigateur, de la plateforme et de l'appareil sous forme de paires clé-valeur, permettant à une seule suite de tests de cibler de nombreux environnements. Selenium Grilles, grilles cloud et automatisation mobile.

Quelles sont les capacités souhaitées ?
Capacités souhaitées est une classe dans Selenium utilisé pour définir les propriétés des navigateurs afin d'effectuer des tests multi-navigateurs d'applications Web. Il stocke les fonctionnalités sous forme de paires clé-valeur et ces fonctionnalités sont utilisées pour définir les propriétés du navigateur telles que le nom du navigateur, la version du navigateur, le chemin du pilote du navigateur dans le système, etc. afin de déterminer le comportement du navigateur au moment de l'exécution.
- La capacité souhaitée peut également être utilisée pour configurer l'instance de pilote de Selenium Pilote Web.
- Nous pouvons configurer une instance de pilote comme FirefoxPilote, ChromeDriver, InternetExplorerDriver en utilisant les fonctionnalités souhaitées.
Note de version : Selenium 4 remplace DesiredCapabilities par les classes Options du navigateur — ChromeOptions, FirefoxOptions, EdgeOptions, InternetExplorerOptions. Les exemples ci-dessous conservent la syntaxe d'origine.
Pourquoi avons-nous besoin des capacités souhaitées ?
Les capacités souhaitées sont nécessaires car chaque Tests Le scénario doit être exécuté sur un environnement de test spécifique. L'environnement de test peut être un navigateur Web, Mobile appareil, émulateur mobile, simulateur mobile, etc. La classe Desired Capabilities nous aide à indiquer au WebDriver l'environnement que nous allons utiliser dans notre script de test.
La méthode setCapability de la classe DesiredCapabilities, expliquée plus loin sur cette page, peut être utilisée dans Selenium Grille. Elle sert à effectuer une exécution parallèle sur différentes configurations de machines.
Ex : Grille (illustrée ci-dessous).
Il est utilisé pour définir les propriétés du navigateur (Ex. Chrome, IE), le nom de la plateforme (Ex. Linux, Windows) qui sont utilisées lors de l'exécution de Cas de test.
Dans le cas de l'automatisation mobile, comme nous effectuons les tests sur différentes variétés d'appareils mobiles, la plateforme mobile (ex. iOS, Android) Version de la plateforme (Ex. 3.x,4.x dans Android) peut être mis en place.
L'exemple d'émulateur ci-dessous montre la plateforme définie, qui est Android, et la version de la plateforme définie, qui est Ice Cream Sandwich (4.x).
Les capacités souhaitées sont plus utiles dans des cas tels que :
- Dans l'automatisation des applications mobiles, où les propriétés du navigateur et celles de l'appareil peuvent être définies.
- In Selenium Nous utilisons Grid lorsque nous voulons exécuter les cas de test sur un navigateur différent, avec des systèmes d'exploitation et des versions différents.
Types de capacités souhaitées Méthodes
Nous allons ici examiner les différentes méthodes Desired Capabilities et voir comment utiliser l'une d'entre elles, la méthode setCapability().
#1) getBrowserName()
public java.lang.String getBrowserName()
#2) setBrowserName()
public void setBrowserName(java.lang.String browserName)
#3) getVersion()
public java.lang.String getVersion()
#4) setVersion()
public void setVersion(java.lang.String version)
#5) getPlatform()
public Platform getPlatform()
#6) setPlatform()
public Platform setPlatform()
# 7) Méthode getCapability()
La méthode getCapability() de la classe DesiredCapabilities peut être utilisée pour obtenir la fonctionnalité actuellement utilisée dans le système.
public java.lang.Object getCapability(java.lang.String capabilityName)
# 8) Méthode setCapability()
La méthode setCapability() de la classe Desired Capabilities permet de définir les propriétés d'un environnement de test, telles que le nom de l'appareil, le nom et la version du système d'exploitation, le nom et la version du navigateur, ainsi que le chemin absolu de l'application testée (le fichier .apk). Android application en cours de test), activité de l'application (dans Android) et appPackage (dans Java).
« méthode setCapability » dans Java a les déclarations ci-dessous :
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
Définir la capacité dans Selenium Exemple
Prenons l'exemple où nous souhaitons exécuter notre cas de test sur le navigateur Internet Explorer pour ouvrir le site web www.gmail.com. Selenium Pilote Web.
Voici le code.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Maintenant, exécutez ce code depuis Eclipse et consultez la console.
Sortie :
L'exécution du code ci-dessus générera l'erreur suivante. Cette erreur se produit car le chemin d'accès au pilote du navigateur (Internet Explorer dans cet exemple) n'est pas défini. Le navigateur est introuvable. Selenium code.
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
Solution:
La solution au problème ci-dessus est donnée dans la section d'avertissement de l'erreur elle-même.
- Téléchargez le serveur autonome Internet ExplorerDriver pour 32 bits ou 64 bits.
- Enregistrez le pilote dans un emplacement approprié du système.
- Définissez le chemin d'accès au pilote à l'aide de la méthode System.setProperty. Celle-ci permet de définir le pilote IE via la propriété webdriver. Elle indique l'emplacement du fichier exécutable du pilote, stocké sur le système (par exemple : « C:\IEDriverLocation\IEDriver.exe »).
Note de version : Selenium 4.6 et versions ultérieures résolvent automatiquement le problème du pilote via Selenium Le gestionnaire rend la méthode System.setProperty facultative. Le code historique ci-dessous reste inchangé.
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
Code Explication:
Dans le code ci-dessus,
- Les instructions d'importation importent les packages nécessaires pour le Selenium WebDriver, les packages requis pour le pilote Internet Explorer et les packages pour les fonctionnalités souhaitées.
- setCapability prend les différentes fonctionnalités comme variables d'entrée qui sont ensuite utilisées par le pilote Web pour lancer l'application dans l'environnement souhaité.
- La méthode setProperty permet de définir le chemin d'accès au pilote. WebDriver localise ensuite le pilote requis.
- Gmail Le site web est ouvert dans le navigateur Internet Explorer en utilisant la méthode « get ».
Sortie :
Le test sur le navigateur Internet Explorer s'exécutera avec succès en utilisant Selenium Pilote Web.


