Capacités souhaitées dans Selenium WebDriver

Table des matières:

Anonim

Capacités souhaitées

Desired Capabilities est une classe de Selenium utilisée pour définir les propriétés des navigateurs afin d'effectuer des tests inter-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 de navigateur dans le système, etc. pour 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 WebDriver.
  • Nous pouvons configurer une instance de pilote comme FirefoxDriver, ChromeDriver, InternetExplorerDriver en utilisant les fonctionnalités souhaitées.

Dans ce didacticiel, vous apprendrez-

  • Quelle est la capacité souhaitée?
  • Pourquoi avons-nous besoin des capacités souhaitées?
  • Différents types de méthodes de capacités souhaitées
  • Exemple de méthode de capacité définie

Pourquoi avons-nous besoin des capacités souhaitées?

Les capacités souhaitées sont nécessaires car chaque scénario de test doit être exécuté sur un environnement de test spécifique. L'environnement de test peut être un navigateur Web, un appareil mobile, un émulateur mobile, un simulateur mobile, etc. La classe de capacités souhaitées nous aide à indiquer au pilote Web quel environnement nous allons utiliser dans notre script de test.

La méthode setCapability de la classe DesiredCapabilities, qui est expliquée dans la dernière partie du didacticiel, peut être utilisée dans Selenium Grid. Il est utilisé pour effectuer une exécution parallèle sur différentes configurations de machines.

Ex: Grille

Il est utilisé pour définir les propriétés du navigateur (ex. Chrome, IE), le nom de la plate-forme (ex. Linux, Windows) qui sont utilisés lors de l'exécution des 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 version de la plate-forme Mobile Platform (ex. IOS, Android) (Ex. 3.x, 4.x sous Android) peut être définie.

L'exemple d'émulateur ci-dessus montre l'ensemble de plates-formes qui est Android et l'ensemble de versions de plate-forme qui est IceCream 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 les propriétés de l'appareil peuvent être définies.
  • Dans Selenium grid lorsque nous voulons exécuter les cas de test sur un navigateur différent avec différents systèmes d'exploitation et versions.

Différents types de méthodes de capacités souhaitées

Ici, nous allons voir un type différent de méthodes de capacités souhaitées et voir comment utiliser l'une de ces méthodes "méthode setCapability".

  1. getBrowserName ()
public java.lang.String getBrowserName ()
  1. setBrowserName ()
public void setBrowserName (java.lang.String browserName)
  1. getVersion ()
public java.lang.String getVersion ()
  1. setVersion ()
public void setVersion (version java.lang.String)
  1. getPlatform ()
plateforme publique getPlatform ()
  1. setPlatform ()
public Platform setPlatform ()
  1. getCapability, méthode

La méthode getCapability de la classe DesiredCapabilities peut être utilisée pour obtenir la capacité actuellement utilisée dans le système.

public java.lang.Object getCapability (java.lang.String nom de capacité)
  1. setCapability (), méthode

La méthode setCapability () de la classe Desired Capabilities est utilisée pour définir la propriété d'un environnement de test comme le nom de l'appareil, le nom et la version du système d'exploitation, le nom et la version du navigateur, le chemin absolu de l'application testée (le fichier .apk de l'application Android en cours de test), l'activité de l'application (sous Android) et appPackage (en Java).

La "méthode setCapability" en Java a les déclarations ci-dessous:

setCapability: public void setCapability (java.lang.String capacityName, valeur booléenne)
setCapability: public void setCapability (java.lang.String nom de capacité, valeur java.lang.String)
setCapability: public void setCapability (java.lang.String capacityName, valeur de la plate-forme)
setCapability: public void setCapability (clé java.lang.String, valeur java.lang.Object)

Exemple de méthode de capacité définie

Prenons un exemple où nous voulons exécuter notre scénario de test sur le navigateur Internet Explorer pour ouvrir le site Web www.gmail.com à l'aide de Selenium Webdriver.

Voici le code.

import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;classe publique IEtestforDesiredCapabilities {public static void main (String [] args) {Pilote WebDriver = nouveau InternetExplorerDriver ();driver.manage (). window (). maximiser ();driver.get ("http://gmail.com");driver.quit ();}}

Maintenant, exécutez ce code depuis Eclipse et consultez la console.

Production:

Il lancera l'erreur suivante lorsque le code ci-dessus sera exécuté. L'erreur se produit car le chemin d'accès au pilote du navigateur (IE dans le cas ci-dessus) n'est pas défini.Le navigateur n'a pas pu être localisé par le code sélénium

Le chemin d'accès à l'exécutable du pilote doit être défini par la propriété système webdriver.ie.driver; Pour plus d'informations, consultez http://code.google.com/p/selenium/wiki/InternetExplorerDriver. La dernière version peut être téléchargée à partir de http://code.google.com/p/selenium/downloads/list

11 décembre 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

AVERTISSEMENT: cette méthode de démarrage du pilote IE est obsolète et sera supprimée dans sélénium 2.26. Veuillez télécharger IEDriverServer.exe à partir de http://code.google.com/p/selenium/downloads/list et assurez-vous qu'il se trouve dans votre 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 du pilote à l'aide de la méthode System.setProperty .
  • Il est utilisé pour définir le pilote IE avec la propriété webdriver. Il aide à localiser le fichier exécutable du pilote qui est stocké dans l'emplacement du système. (Ex: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;classe publique IEtestforDesiredCapabilities {public static void main (String [] args) {// il est utilisé pour définir la capacité IEDesiredCapabilities capabilities = DesiredCapabilities.internetExplorer ();capacités.setCapability (CapabilityType.BROWSER_NAME, "IE");capacités.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, vrai);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// il est utilisé pour initialiser le pilote IEPilote WebDriver = nouveau pilote InternetExplorer (fonctionnalités);driver.manage (). window (). maximiser ();driver.get ("http://gmail.com");driver.quit ();}}

Explication du code:

Dans le code ci-dessus,

  • Les instructions d'importation consistent à importer les packages requis pour le pilote Web sélénium, les packages requis pour le pilote Internet Explorer, les packages pour les fonctionnalités souhaitées.
  • setCapability prend les différentes capacités comme variables d'entrée qui sont ensuite utilisées par le pilote Web pour lancer l'application dans l'environnement souhaité.
  • setProperty est utilisé pour définir le chemin où se trouve le pilote. Le pilote Web localise ensuite le pilote requis.
  • Le site Web de Gmail est ouvert dans le navigateur Internet Explorer en utilisant la méthode «get».

Production:

Le scénario de test sur le navigateur Internet Explorer s'exécutera avec succès à l'aide de Selenium Webdriver.

Conclusion

La classe Desired Capabilities aidera à définir un environnement pour définir le comportement du navigateur / environnement sur lequel le test peut être exécuté.

Il permet de lancer notre application dans l'environnement souhaité en ayant les capacités que nous souhaitons utiliser.

Cet article est contribué par Krithika Ramkumar