Classe Actions critiques en sélénium - Guide absolu 2021

Nous allons discuter et apprendre l'utilisation exhaustive de la classe Actions dans Selenium dans différentes opérations Web. La classe Actions dans Selenium est largement utilisée pour effectuer diverses opérations Web telles que les mouvements de la souris et du clavier qui sont des actions avancées du navigateur Web.

Actions de la souris

Actions du clavier

Classe d'actions en sélénium

Qu'est-ce que la classe d'actions dans Selenium: 

Classe d'actions en sélénium
Classe d'actions dans Selenium

Actions Class est une classe de Selenium Bundle Api du package org.openqa.selenium.interactions pour gérer les interactions Web critiques et avancées avec les utilisateurs grâce à l'automatisation du navigateur. Fournit aux utilisateurs une poignée pour effectuer diverses actions de souris et de clavier via différentes méthodes mentionnées ci-dessus.  

Classe d'actions en sélénium
Classe d'actions dans Selenium

Nous aborderons ici toutes les interactions Web via la classe Actions dans Selenium, pour commencer Nous apprenons les interactions souris et passons à la classe Interactions KeyBoard avec Actions dans Selenium.

Interactions avec la souris - Classe d'actions dans Selenium

Glisser-déposer dans le sélénium

Le glisser-déposer dans Selenium peut être effectué selon trois approches différentes avec la classe Actions dans Selenium: 

Glissez-déposez dans Selenium avec Action Class dans Selenium via la méthode de construction: 

Nous avons besoin de deux éléments Web pour effectuer le glisser-déposer dans Selenium tels que Source WebElement (qui doit être glissé) et Destination WebElement (où le WebElement source à déposer, c'est-à-dire le WebElement de destination), La méthode ci-dessous est une méthode personnalisée ( que vous pouvez utiliser pour créer votre Framework WebUtils) qui effectuent le glisser-déposer dans Selenium et cette méthode prend deux arguments, l'un est Source WebElement et un autre est Destination WebElement comme mentionné précédemment: 

public void dragAndDrop(By source, By destination) { try { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Générateur d'actions = nouvelles actions (pilote); Action dragAndDrop = builder.clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build(); dragAndDrop.perform(); BASE_LOGGER.info("A effectué avec succès l'action Glisser-Déposer "); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de DragAndDrop "); } }

Pour apprendre tout le concept du glisser-déposer et accéder à toutes les approches permettant d'effectuer le glisser-déposer dans Selenium, cliquez ici.

ClickAndHold dans Selenium 

ClickAndHold est une autre méthode importante de la classe Actions (du package org.openqa.selenium.interactions) dans Selenium pour
effectuez d'abord une opération de clic gauche sur n'importe quel élément web et maintenez-la enfoncée sans relâcher la souris.

Cette méthode est principalement utilisée lors de l'exécution des scénarios de glisser-déposer, voici l'exemple de code ci-dessous: 

Classe d'actions en sélénium
cliquez et maintenez -Actions classe dans Selenium

MoveToElement dans Selenium

MoveToElement est une méthode de la classe Actions de Selenium pour effectuer le déplacement vers un autre WebElement (Destination Webelement), que cette méthode prend comme argument respectif.

Cette méthode est principalement utilisée lors de l'exécution des scénarios de glisser-déposer, voici l'exemple de code ci-dessous: 

Déplacer vers l'élément
Déplacer vers l'élément - Classe Actions dans Selenium

Double-cliquez sur Selenium

Pour reproduire l'opération de double-clic via la souris, nous devons effectuer un double-clic via la classe Actions dans Selenium et nous pouvons le faire dans l'approche ci-dessous: 

public void doubleClick(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = nouvelles Actions(driver); actions.doubleClick(element).perform(); BASE_LOGGER.info("Effectué le double clic sur l'élément : " + locator); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("L'élément n'est pas attaché au document de page " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " introuvable dans DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage()); } }

L'extrait de code ci-dessus est une méthode qui prend essentiellement un argument comme Locator, c'est-à-dire le WebElement sur lequel le double-clic doit être effectué. 

clic contextuel ou clic droit sur Selenium

Pour répliquer l'opération de clic contextuel ou de clic droit via la souris, nous devons exécuter la méthode de clic contextuel via la classe Actions dans Selenium et nous pouvons le faire dans l'approche ci-dessous: 

public void rightClick(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = nouvelles Actions(driver); actions.contextClick(element).perform(); BASE_LOGGER.info("Effectué le clic contextuel sur l'élément : " + locator); } catch (StaleElementReferenceException e) { BASE_LOGGER.error("L'élément n'est pas attaché au document de page " + e.getCause().getMessage()); } catch (NoSuchElementException e) { BASE_LOGGER.error("Element " + locator + " introuvable dans DOM " + e.getCause().getMessage()); } catch (Exception e) { BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage()); } }

L'extrait de code ci-dessus est une méthode qui prend essentiellement un argument comme Locator, c'est-à-dire le WebElement sur lequel le double-clic doit être effectué. 

Pause dans le sélénium 

Chaque fois que nous voulons avoir introduit un délai entre différentes actions, nous pourrions utiliser la méthode de pause entre les opérations Actions, comme disons si nous voulons avoir quelques secondes de délai entre l'opération glisser-déposer, alors nous pouvons appeler la pause ( ) méthode de classe d'actions en sélénium dans l'approche ci-dessous: 

public void pauseBetweenActions (Par source, Par destination, int timeUnit) { essayez { WebElement sourceElement = driver.findElement (source); WebElement destinationElement = driver.findElement(destination); Générateur d'actions = nouvelles actions (pilote); builder.clickAndHold(sourceElement).moveToElement(destinationElement).pause(timeUnit).release(destinationElement).build().perform(); BASE_LOGGER.info("A effectué avec succès l'action Glisser-Déposer "); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de DragAndDrop "); } }

Dans la méthode ci-dessus, il prend trois arguments: un WebElement source, un autre argument est l'élément de destination, et le dernier est pour timeUnit, c'est-à-dire le délai que nous voulons introduire en utilisant pause () dans Selenium.

Survol de la souris dans le sélénium

L'opération de survol de la souris dans Selenium peut être obtenue en utilisant la classe Actions dans Selenium, en gros, une fois que nous nous concentrons sur n'importe quel élément web et à partir de là, nous voulons placer le curseur de votre souris sur n'importe quel autre élément par cette opération de survol de la souris, et ce WebElement où nous voulons prendre notre curseur de la souris s'appelle Target WebElement. 

Vous trouverez ci-dessous l'extrait de code pour le même: 

public void mouseHover (Par targetLocator) { essayez { WebElement targetElement = driver.findElement (targetedLocator); Générateur d'actions = nouvelles actions (pilote); builder.moveToElement(targetedElement).build().perform(); BASE_LOGGER.info("A effectué avec succès le survol de la souris dans l'action Selenium "); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée c'est-à-dire : " + exceptionData + " lors du survol de la souris dans Selenium "); } }

Pour en savoir plus sur tous les Commande Selenium webdriver que vous pouvez consulter ici .

Actions du clavier - Classe d'actions dans Selenium

Qu'est-ce que les actions du clavier et où cela est nécessaire:

Les actions de clavier signifient où les opérations sont directement effectuées à partir d'un clavier, comme disons que nous essayons d'effectuer Contrl + A ensemble ou Ctrl + C ensemble ou d'effectuer le bouton Key up ou Keydown à partir du clavier tout en interagissant avec WebElements.

Nous pouvons effectuer plusieurs interactions au clavier à l'aide de la classe Actions dans Selenium

sendKeys dans Selenium :

Nous pouvons effectuer l'opération sendKeys à l'aide de la classe Actions dans Selenium de la manière ci-dessous:

public void sendKeysWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = nouvelles Actions(driver); actions.sendKeys("Entrée de données du clavier "); // Effectuez des actions au clavier en appuyant sur Control et c ensemble actions.sendKeys(Keys.CONTROL); actions.sendKeys("c"); actions.build().perform(); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); } }

KeyUp dans Selenium :

De même, nous pouvons effectuer des opérations KeyUp avec la classe Actions dans Selenium de la manière ci-dessous:

    public void keyUpWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = nouvelles Actions(driver); actions.sendKeys("Entrée de données du clavier "); // Effectuez des actions au clavier en appuyant sur Control et c avec keyUp actions.keyUp(Keys.CONTROL); actions.sendKeys("c"); actions.build().perform(); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); } }

KeyDown dans Selenium

Nous pouvons effectuer l'opération keyDown à l'aide de la classe Actions de nouveau dans Selenium dans l'approche ci-dessous:

public void keyDownWithActionClass(By locator) { try { WebElement element = driver.findElement(locator); Actions actions = nouvelles Actions(driver); actions.sendKeys("Entrée de données du clavier "); // Effectuez des actions au clavier en appuyant sur Control et V avec keyDown actions.keyDown(Keys.CONTROL); actions.sendKeys("v"); actions.build().perform(); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); } }

Conclusion: Avec ceux-ci, nous en avons fini avec la classe Actions dans Selenium, dans le prochain tutoriel JavascriptExecutor dans Selenium de manière modulaire mais exhaustive. Apprendre Exhaustivement la commande Selenium vous pouvez également vous référer ici pour vous préparer Questions d'entrevue critiques sur Selenium que vous pouvez consulter ici.

Laisser un commentaire