Qu'est-ce que la classe d'action dans Selenium et ses applications ?

Publié: 2021-05-19

La classe d'action dans Selenium est une fonctionnalité intégrée offerte par Selenium pour gérer les événements du clavier et de la souris. Il peut gérer plusieurs opérations et événements tels que la touche de contrôle, le glisser-déposer, et bien d'autres. Les opérations de la classe d'action sont implémentées à l'aide de la fonctionnalité API d'interaction utilisateur avancée du pilote Web Selenium.

Table des matières

Événements de clavier et de souris couramment utilisés

Les événements spéciaux du clavier et de la souris sont gérés à l'aide de l'API d'interactions utilisateur avancées. Cette API contient l'action et la classe Actions requises lors de l'exécution de ces événements. Vous trouverez ci-dessous les événements de clavier et de souris couramment utilisés fournis dans la classe Action.

Méthode La description
Cliquez et maintenez () Pour cliquer sans relâcher à l'emplacement actuel de la souris.
clic-contexte() Effectue un clic contextuel (action de clic droit de la souris) à l'emplacement actuel de la souris
doubleClic() Effectue une action de double-clic à l'emplacement actuel de la souris
glisser-déposer (source, cible) Effectue une opération de clic-maintien à l'emplacement de l'élément source, puis se déplace vers l'emplacement de l'élément cible et relâche la souris.

Paramètres:

source-element pour émuler les événements de bouton enfoncé.

Cible-élément pour déplacer et relâcher la souris

dragAnd DropBy(source, décalage x, décalage y) Effectue un clic-maintien à l'emplacement de l'élément source, se déplace d'un décalage spécifié, puis relâche la souris.

Paramètres:

source-element pour émuler les événements de bouton enfoncé.

xOffset- pour spécifier le décalage de déplacement horizontal.

yOffset- pour spécifier le décalage de déplacement vertical.

keyDown(modifier_key) Effectue l'événement d'appui sur la touche de modification. Ne relâche pas la touche de modification avec les interactions suivantes en supposant qu'elle est enfoncée.

Paramètres:

modifier_key pour représenter l'une des touches de modification, telles que Keys.SHIFT, Keys.ALT ou Keys.CONTROL.

clé vers le haut (modifier_key) Effectue une libération de clé.

Paramètres:

modifier_key pour représenter l'une des touches de modification, telles que Keys.SHIFT, Keys.ALT ou Keys.CONTROL.

moveByOffset(décalage x, décalage y) Déplace la souris de la position actuelle selon le décalage spécifié.

Paramètres:

x-offset pour spécifier le décalage horizontal. Une valeur négative signifie que la souris se déplace vers la gauche.

y-offset pour spécifier le décalage vertical. Une valeur négative signifie que la souris se déplace vers le bas.

moveToElement(toElement) Déplace la souris du milieu au milieu de l'élément.

Paramètres:

élément pour représenter l'élément vers lequel se déplacer.

Libération() Relâche le bouton gauche de la souris enfoncé à l'emplacement actuel de la souris.
sendKeys(onElement, charsequence) Envoie une série de frappes sur l'élément.

Paramètres:

Élément pour représenter l'élément qui obtiendra les frappes, généralement un champ de texte.

Séquence de caractères - toute valeur de chaîne pour représenter la séquence de frappes qui est envoyée.

Exemples d'application de la classe d'action Selenium

1. Importer une action et la classe Action .

importer org.open a.selenium.interactions.Action ;

importer org.open a.selenium.interactions.Actions ;

2. Instancier un nouvel objet Actions

Générateur d'actions = nouvelles actions (pilote);

3. Instancier une action à l'aide de l'objet Action à l'étape précédente

Action mouseOverHome = constructeur

.moveToElement(link_Home)

.construire();

Ici, nous utilisons la méthode moveToElement() pour passer la souris sur le lien Accueil. Le build () est toujours la méthode finale pour s'assurer que toutes les actions sont compilées en une seule étape.

4. Utilisez la méthode perform lors de l'exécution de l'objet Action que nous avons déclaré à l'étape précédente.

Syntaxe:

mouseOverHome.perform();

Exemple 2 :

Prenons un autre exemple où la classe Action est utilisée pour implémenter la fonctionnalité de saisie semi-automatique de la zone de texte.

Pour ce faire manuellement, nous appuyons sur la touche Maj, tapons le texte qui doit être saisi en majuscule, puis relâchons la touche Maj. Put, Shift + touches alphabétiques sont pressées ensemble.

Pour imiter la même opération via un script d'automatisation, la méthode Actions Class est utilisée.

1. Package d'importation

Les classes Action et Actions existent dans le package org.openqa.selenium.interactions de l'API Web Driver. Pour les utiliser, vous devez importer des packages :

org.openqa.selenium.interactions.Action ;

org.openqa.selenium.interactions.Actions ;

2. Instanciez la classe Action

Il serait utile que vous créiez un objet de la classe Actions pour invoquer ses méthodes. Nous instancions donc la classe Actions et utilisons l'objet WebDriver pour initier la classe. La syntaxe est :

Actions actions = nouvelles actions (objet webdriver) ;

3. Générer une séquence d'actions

Dans cet exemple, la séquence d'étapes pour effectuer plusieurs actions est :

  • Appuyez sur la touche Maj
  • Envoyez le texte souhaité
  • Relâchez la touche Maj

Pour effectuer ces actions, la classe Action dispose de méthodes telles que :

  • keyDown pour appuyer sur la touche Maj.
  • méthode sendKeys pour envoyer le texte souhaité.
  • La méthode keyUp libère la touche Maj.
  • Le keyDown agit comme une touche de modification pour se concentrer sur un élément tandis que la méthode keyUp libère une touche de modification enfoncée.

Une touche de modification modifie l'action d'une autre touche lorsque les deux touches sont enfoncées simultanément. Par exemple, Maj, Alt et Ctrl.

Une séquence d'actions est générée mais ces actions sont effectuées sur un webElement. Les étapes pour cela sont :

élément WebElement = driver.findElement;

actions.keyDown(element, Keys, Shift);

action.sendKeys("TexttoBeConvertAndSendInUpperCase);

actions.keyUp(Keys.Shift);

La chose importante à observer ici est que si vous survolez une méthode de classe Action, un objet de classe Actions sera renvoyé.

4. Construire la séquence d'actions

Vous pouvez construire la séquence d'actions via la méthode build() de la classe Actions. Cette méthode génère l'ensemble des actions prêtes à être exécutées. La syntaxe est :

Action action = actions.build();

La méthode build() renvoie un objet de type Action qui représente une action composite construite à partir d'une séquence de plusieurs actions appelées par des appels de méthode.

5. Effectuez des séquences d'action

La dernière étape de l'exécution de la classe Action consiste à exécuter la séquence d'actions via la méthode perform() de l'interface Action. La syntaxe est :

action.perform();

Les étapes ci-dessus doivent être exécutées pour tirer parti de toutes les méthodes de la classe Actions et effectuer différentes actions utilisateur à l'aide du clavier et de la souris.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Et ensuite ?

Si vous souhaitez en savoir plus sur le développement de logiciels Full-Stack, consultez le programme de développement de logiciels Executive PG Full-stack de upGrad & IIIT-B, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce que la classe d'action dans Selenium ?

Une classe d'action est une classe qui décrit une action, ou une série d'actions, que vous pouvez effectuer sur un élément Web. Nous identifions les éléments sur lesquels nous voulons effectuer des actions par des localisateurs. Les classes d'action sont définies par la combinaison à deux caractères d'un modificateur de niveau de classe statique public et d'un suffixe d'action (c'est-à-dire Action, KeyAction, PageAction, etc.). Le modificateur public static nous permet d'exposer la classe comme une classe pouvant être instanciée. Le suffixe Action indique le type d'action en cours d'exécution. La classe de suffixe Action est également paramétrée. Le paramètre est le nom de l'élément de l'action. Par exemple, si nous voulons effectuer une action sur un champ de texte, nous utiliserons le paramètre textfield.

Quelles sont les utilisations du sélénium ?

Selenium est un outil de test de logiciel portable très puissant (outil de test de logiciel au sélénium), qui est utilisé pour enregistrer et lire les actions de l'utilisateur sur une page Web. Il est utilisé pour tester les exigences fonctionnelles et non fonctionnelles d'une application Web sur n'importe quel navigateur Web. Il est implémenté en Java et possède une API très simple. Il prend en charge les tests d'applications Web dans tous les principaux navigateurs Web tels que Firefox, Chrome, Internet Explorer, Safari, etc.

Comment apprendre Selenium en Java ?

Selenium est un outil qui vous permet d'écrire des tests automatisés dans un certain nombre de langages de programmation. Les tests sont écrits à l'aide d'un pilote Web. Vous pouvez l'utiliser pour tester votre application Web basée sur les langages de programmation suivants : Java, C#, Python et PHP. En fait, de nombreux développeurs estiment qu'il n'est pas si nécessaire d'apprendre l'API Selenium Java. Selenium WebDriver est le bon choix pour trouver des éléments sur la page et effectuer des actions avec eux. Il est possible d'implémenter des tests dans de nombreux langages de programmation, mais si vous devez écrire des tests en Java, alors Selenium WebDriver est le meilleur choix. Une autre méthode pour apprendre Selenium en Java consiste à utiliser Selenium IDE, également connu sous le nom de Selenium RC. La prise en charge des navigateurs pour cet outil n'est pas aussi bonne que nous le savons, seuls Firefox et Chrome sont pris en charge. Mais l'IDE peut vous aider à concevoir et à exécuter rapidement des cas de test Selenium, à enregistrer et à lire des cas de test, à générer automatiquement des cas de test, etc.