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.

  • (I.e. Définition: Paires clé-valeur indiquant le navigateur, la version, la plateforme et le chemin du pilote.
  • ☑️ Objectif : Une seule suite logicielle fonctionne sur tous les navigateurs, systèmes d'exploitation et appareils mobiles.
  • ✅ Méthodologie: setCapability(), getCapability(), setBrowserName(), setVersion() et setPlatform() décrivent l'environnement.
  • 🧪 Exemple : La procédure pas à pas d'Internet Explorer reproduit l'erreur de chemin d'accès au pilote et sa solution.
  • ️ Équivalent moderne : Selenium 4 comporte les mêmes paramètres dans les classes Options du navigateur.

Capacités souhaitées en Selenium pilote web

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

Selenium Configuration du réseau pilotée par les capacités souhaitées

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 de l'émulateur mobile sont configurées pour Android plateforme et version 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.

  1. Téléchargez le serveur autonome Internet ExplorerDriver pour 32 bits ou 64 bits.
  2. Enregistrez le pilote dans un emplacement approprié du système.
  3. 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.

FAQ

Elle est conservée pour assurer la rétrocompatibilité, mais elle est en réalité considérée comme une version obsolète. Selenium 4. Les sessions de routage passent par des objets Options de navigateur conformes au W3C, les nouvelles suites devraient donc privilégier Options.

Options Chrome, FirefoxOptions, EdgeOptions, SafariOptions et InternetExplorerOptions. Chaque objet est transmis directement au constructeur du pilote correspondant ou à RemoteWebDriver.

Seuls les paramètres browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts et unhandledPromptBehavior sont standard. Tout autre paramètre nécessite un préfixe fournisseur tel que goog:chromeOptions.

Appium attend platformName, automationName, deviceName et soit app ou appPackage plus appActivity, le tout écrit avec le préfixe appium:.

Non. De Selenium 4.6 Selenium Gérant Télécharge automatiquement le pilote correspondant. À configurer uniquement lors du choix d'une version spécifique du pilote.

Les fournisseurs de services cloud lisent les mêmes paires clé-valeur pour allouer un navigateur, un système d'exploitation et un appareil, ainsi que des informations supplémentaires préfixées par le fournisseur, telles que le nom de la version.

Les modèles d'IA exploitent les données analytiques de production et l'historique des défauts pour classer les combinaisons de navigateurs, de versions et d'appareils qui méritent une couverture, réduisant ainsi une matrice ingérable.

Copilot La génération de blocs de capacités est rapide, mais elle suggère souvent une syntaxe DesiredCapabilities obsolète issue d'un code plus ancien ; il est donc conseillé de vérifier chaque ligne générée.

Résumez cet article avec :