Commandes importantes de Selenium Webdriver de 2021

Dans cette série de didacticiels, nous allons découvrir toutes les commandes exhaustives de sélénium webdriver à partir des commandes très basiques sélénium aux commandes avancées Selenium webdriver dans l'ordre des articles ci-dessous: 

Commandes de base de Selenium Webdriver - Questions: 

Sélénium intermédiaire Webdriver commandes -Des questions:

Commandes avancées de Selenium WebDriver -Des questions:

Commandes de base Selenium - Réponses: 

commandes sélénium webdriver
Commandes Selenium Webdriver

Selenium accédez à l'URL:

Dans Selenium Webdriver, si nous voulons naviguer ou ouvrir une URL spécifique via notre navigateur, nous pouvons le faire dans principalement deux approches différentes, l'une avec la méthode get () et l'autre avec la navigation, nous allons voir comment cela pourrait être terminé : 

public void getUrl(String url) { try { driver.get(url); BASE_LOGGER.info("Navigué avec succès vers l'URL en tant que : " + url); } catch (Exception ex) { String exceptionData = ex.getCause().getMessage(); BASE_LOGGER.error("Impossible de naviguer vers l'URL : " + url + " avec l'erreur : " + exceptionData); } }

Le code que vous pouvez écrire pour naviguer dans l'url est driver.get («http://example.com») tandis que le pilote est l'instance Webdriver de l'interface Selenium WebDriver.

visitez ici pour comprendre comment lancer tous les navigateurs dans Selenium.

Comment fonctionne la méthode get en interne dans Selenium: 

Une fois que cette méthode get () est appelée à partir de votre script de test, la référence Webdriver c'est-à-dire que le pilote attendra que la page soit chargée, en fait la méthode get () se déclenche en interne fonction onload qui renvoie le handle de votre référence de pilote une fois que la page est complètement chargée.

Selenium naviguer vers l'avant et revenir en arrière:

Une autre approche pour naviguer vers l'URL avec l'historique du navigateur consiste à utiliser la méthode navigate (), où le Selenium utilise l'historique du navigateur pour naviguer en avant ou en arrière avec vos URL respectives telles que: 

Sélénium avance

public void browserForward() { essayer { driver.navigate().forward(); BASE_LOGGER.info("Navigation vers l'avant réussie" ); } catch (Exception ex) { String exceptionData = ex.getCause().getMessage(); BASE_LOGGER.error("Impossible de naviguer avec l'erreur comme : " + exceptionData); } }

Sélénium revenir en arrière: 

public void browserBack() { essayez { driver.navigate().back(); BASE_LOGGER.info("Retour à l'URL avec succès "); } catch (Exception ex) { String exceptionData = ex.getCause().getMessage(); BASE_LOGGER.error("Impossible de revenir à l'URL : avec l'erreur : " + exceptionData); } } 

Page de rafraîchissement du sélénium

Nous pouvons utiliser la méthode refresh () de Selenium naviguer 

public void seleniumRefreshPage() { essayez { driver.navigate().refresh(); BASE_LOGGER.info("La page d'actualisation de Selenium a été effectuée avec succès "); } catch (Exception ex) { String exceptionData = ex.getCause().getMessage(); BASE_LOGGER.error("Impossible d'effectuer l'actualisation de la page Selenium : avec l'erreur : " + exceptionData); } }

Clic de sélénium

Afin d'effectuer toute opération de clic avec Selenium click, nous devons utiliser la méthode appelée click () dans l'approche ci-dessous, il existe d'autres moyens d'effectuer une opération de clic sur l'un des WebElement dans Selenium, c'est-à-dire en utilisant JavaScriptClick qui est parfois très utile selon les situations où votre méthode de clic Selenium normale fonctionne de manière très stable, dans certains cas, si vous automatisez avec le navigateur IE et si l'application Web testée est construite dans une sorte de bootstrap JS, la méthode de clic sélénium normale peut parfois ne pas fonctionner , dans ce cas, vous pouvez utiliser la méthode de clic Javascript.

public void safeClick(By element) { try { driver.findElement(element).click(); BASE_LOGGER.info("Une opération Safeclick a été effectuée pour le localisateur : " + String.valueOf(element)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de Safeclick sur l'élément : " + element); } }

Vous pouvez passer l'élément en utilisant différentes stratégies de localisation (c'est-à-dire xpath, name, css, etc.) dans la méthode appelée findElement (), puis effectuer l'opération de la méthode click () comme ci-dessus.

Touches d'envoi sélénium

Lorsque nous devons saisir du texte dans une zone de texte via Selenium, nous utilisons la méthode Selenium sendkeys () en passant le "Texte à saisir" comme paramètre dans la méthode sendKeys ("Texte à saisir") et similaire à la méthode click () cette méthode est également appliquée à n'importe quel webElement (ici la zone de texte Web), nous devons donc utiliser driver.findElement pour envoyer le texte à cette zone de texte.

L'exemple de code va comme ceci: 

public void enterTextIntoElement(Par élément, String textToBeEntered) { essayez { driver.findElement(element).sendKeys(textToBeEntered); BASE_LOGGER.info( "l'opération enterTextIntoElement a été effectuée pour le localisateur : " + String.valueOf(element)); } catch (Exception ex) { String exceptionData = ex.getCause().getMessage(); BASE_LOGGER.error("l'opération enterTextIntoElement a échoué pour le localisateur : " + String.valueOf(element) + " avec l'exception c'est-à-dire : " + exceptionData); } }

Champ de texte clair Selenium

Si nous voulons effacer des données d'un champ de texte précédemment rempli, nous pouvons utiliser la méthode appelée clear () et également à l'aide de Keys Class dans Selenium, nous pouvons le faire, à travers laquelle nous pouvons effectuer les opérations au clavier directement avec des raccourcis clavier :

Pour effacer les données à l'aide de la méthode clear (), nous pouvons écrire dans l'approche ci-dessous: 

public void clearField(By element) { try { driver.findElement(element).clear(); BASE_LOGGER.info("L'opération ClearField a été effectuée pour le localisateur : " + String.valueOf(element)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("L'opération ClearField a échoué pour le localisateur : " + String.valueOf(element) + " avec l'exception c'est-à-dire : " + exceptionData); } }

En utilisant la classe Keys, nous pouvons également effacer les champs de texte dans l'approche suivante.

Fenêtre de maximisation du sélénium

Tout en travaillant avec l'automatisation du navigateur, si nous devons maximiser la fenêtre dans Selenium, nous pourrions utiliser les approches suivantes: 

Selenium Maximize Window à l'aide de la méthode Maximize ():  

public void maximiserWindow() { essayer { driver.manage().window().maximize(); BASE_LOGGER.info("La fenêtre a été maximisée avec succès"); } catch (Exception e) { BASE_LOGGER.info("Une exception s'est produite lors de la maximisation de la fenêtre en tant que : " + e.getCause().getMessage()); } }

Selenium Maximize Window à l'aide de ChromeOptions pour ChromeBrowser:

En utilisant la méthode ci-dessous, nous définissons une instance de navigateur Chrome pour Webdriver en mode maximisé et la session de pilote retournée continuera avec la même fonctionnalité (c'est-à-dire maximiser la fenêtre) pour une opération Web ultérieure selon le script.

public WebDriver openBrowserInMaximizeWindow(){ essayez {Options ChromeOptions = new ChromeOptions(); options.addArguments("start-maximized"); Pilote WebDriver = nouveau ChromeDriver (options); }catch(Exception e){ BASE_LOGGER.error("Exception rencontrée avec : " + e.getCause().getMessage()); } renvoie le pilote ; }

Fenêtre de réduction du sélénium

Nous pouvons minimiser la fenêtre en utilisant la commande Selenium minimiser () avec l'approche suivante:  

public void minimiserWindow() { essayer { driver.manage().window().minimize(); BASE_LOGGER.info("La fenêtre a été réduite avec succès"); } catch (Exception e) { BASE_LOGGER.info("Une exception s'est produite lors de la réduction de la fenêtre en tant que : " + e.getCause().getMessage()); } }

Navigateur fermé Selenium:

Pour fermer le navigateur dans Selenium, nous utilisons la méthode close () dans l'approche ci-dessous: 

public void closeCurrentWindow() { essayer { if (null != driver) { driver.close(); BASE_LOGGER.info("A fermé avec succès la fenêtre/le navigateur actuel"); } else { BASE_LOGGER.info("Impossible de fermer l'instance actuelle de la fenêtre/du navigateur en tant que NULL"); } } catch (Exception e) { BASE_LOGGER.info("Une exception s'est produite lors de la fermeture de la fenêtre/du navigateur en cours"); } }

Selenium quitter le navigateur

Pour quitter toutes les instances de navigateur dans Selenium, nous utilisons la méthode quit () dans l'approche ci-dessous: 

public void quitBrowser() { essayer { if (null != driver) { driver.quit(); BASE_LOGGER.info("QUITTER le navigateur avec succès"); } else { BASE_LOGGER.info("Impossible de QUITTER le navigateur car il est NULL"); } } catch (Exception e) { BASE_LOGGER.error("Une exception s'est produite lors de la fermeture du navigateur"); } }

Différence entre driver.close () et driver.quit () dans Selenium:

Commandes Intermediate Selenium Webdriver - Forum:

Dropdown dans le sélénium:

Dans la structure DOM de la page Web, la liste déroulante est implémentée soit par Select, soit par l'entrée Tage of HTML .Pour travailler avec Dropdown avec Selenium et effectuer certains 

opérations Web sur les listes déroulantes, nous devons utiliser la classe "Select" de l'API Selenium WebDrivers dans le cadre de "org.openqa.selenium.support.ui”De Selenium WebDriver. 

Il y a 2 énoncé de problème ou demander différents lorsque vous travaillez avec la sélection de DropDown dans Selenium: 

Sélection d'un seul élément dans une liste déroulante à la fois

Dans l'approche ci-dessous, nous pouvons travailler avec Dropdown:  

La première étape :

Vous devez créer un handle pour le DropDown WebElement en utilisant la création de classe Select Object de la manière ci-dessous:

Sélectionnez select = new Select (WebElement webelement);

Deuxième étape: 

Il existe 3 approches différentes pour sélectionner la valeur dans la liste déroulante de Selenium, nous pourrions utiliser l'une des méthodes ci-dessous pour sélectionner la valeur dans la liste déroulante de Selenium: 

Voici l'approche ci-dessous que nous pouvons adopter pour sélectionner une valeur dans la liste déroulante: 

Dropdown dans le sélénium - Approche One: 
Dans l'Approach One, vous pouvez utiliser le texte visible de la sélection souhaitée du Webelement.

public void selectFromDropDownByText(By locator, String visibleText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropDownElement.selectByVisibleText(visibleText); BASE_LOGGER.info("L'opération SelectFromDropDownByText a été effectuée pour le localisateur : " + String.valueOf(locator)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de selectFromDropDownByText sur l'élément : " + locator); } }

Dans la méthode ci-dessus, vous pouvez passer le localisateur de la liste déroulante et le texte visible que vous souhaitez sélectionner dans la liste déroulante, puis il effectuera l'opération souhaitée Sélection de l'élément déroulant attendu. 

Dropdown dans le sélénium - Approche deux:

Dans cette approche, vous sélectionnez le Webelement en utilisant l'attribut value de la sélection WebElement souhaitée dans la liste déroulante: 

public void selectFromDropDownByValue(By locator, String visibleText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropDownElement.selectByValue(“Valeur de l'élément Web souhaité ”); BASE_LOGGER.info("l'opération selectFromDropDownByValue a été effectuée pour le localisateur : " + String.valueOf(locator)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de selectFromDropDownByValue sur l'élément : " + locator); } }

Dans la méthode ci-dessus, vous pouvez passer le localisateur de la liste déroulante et l'attribut de valeur du WebElement que vous souhaitez sélectionner dans la liste déroulante, puis il effectuera l'opération souhaitée Sélection de l'élément déroulant attendu. 

Liste déroulante dans le sélénium - Approche trois:

Dans cette approche, vous sélectionnez le Webelement en utilisant l'index (ordre du WebElement dans la balise de sélection HTML) de la sélection WebElement souhaitée dans la liste déroulante, l'index commence généralement à 0:

public void selectFromDropDownByIndex(By locator, String visibleText) { try { Select dropDownElement = new Select(driver.findElement(locator)); dropDownElement.selectByIndex(5); BASE_LOGGER.info("l'opération selectFromDropDownByIndex a été effectuée pour le localisateur : " + String.valueOf(locator)); } catch (Exception e) { String exceptionData = e.getCause().getMessage(); BASE_LOGGER.error("Erreur rencontrée ie : " + exceptionData + " lors de l'exécution de selectFromDropDownByIndex sur l'élément : " + locator); } }

Dans la méthode ci-dessus, vous pouvez passer le localisateur de la liste déroulante et l'index / l'ordre du WebElement (dans la balise de sélection de la liste déroulante) dont vous souhaitez sélectionner dans la liste déroulante, puis il effectuera l'opération souhaitée Sélection de l'élément déroulant attendu .

Sélection de plusieurs éléments dans une liste déroulante à la fois 

Cela dépend de la structure et de l'implémentation du DOM HTML si un élément déroulant est autorisé à avoir une sélection multiple d'éléments. Pour sélectionner plusieurs éléments dans Selenium, nous devons suivre les deux étapes ci-dessous: 

La première étape : Vérifiez si DropDown WebElement autorise la sélection multiple en utilisant la méthode isMultiple (), cela renvoie booléen comme vrai ou faux.

Deuxième étape: si l'étape ci-dessus renvoie true, la liste déroulante permet la sélection multiple. Et après cela, nous pouvons utiliser les trois approches décrites ci-dessus pour sélectionner plusieurs valeurs et effectuer les opérations souhaitées.

Donc, pour conclure, voici l'exemple de code:

Élément WebElement =driver.findElement(By.xpath("XPATH OF THE DropDown")); Select selectMultiple = new Select(element); if(selectMultiple.isMultiple()){ selectMultiple.selectByIndex(1); selectMultiple.selectByIndex(2); // De même, nous pourrions utiliser d'autres approches/méthodes pour sélectionner des éléments déroulants tels que selectByVisibleText ou selectByValue }

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

Dans le segment du didacticiel, nous allons apprendre toutes les différentes approches de l'exécution du glisser-déposer dans Selenium telles que: 

Qu'est-ce que le glisser-déposer dans Selenium et où il est utilisé: 

Le glisser-déposer est une opération spécifique lorsque les utilisateurs naviguent vers vos applications Web et tentent d'effectuer une opération (glisser par déplacement de la souris) sur un élément Web qui peut se déplacer librement sur l'application et peut être déposé à un autre emplacement de la page Web de cette application. 

Ici, l'élément qui est glissé est appelé un WebElement source et l'élément où il est déposé est appelé un WebElement de destination. 

Pour exécuter les scénarios ci-dessus via l'automatisation avec Selenium, nous devons glisser-déposer les fonctionnalités fournies par Selenium.

Différentes approches du glisser-déposer dans Selenium:

Glissez-déposez dans Selenium en utilisant la méthode Build (): 

Comment la méthode Build () fonctionne en interne :

build () de la classe Actions dans Selenium qui fait partie du package org.openqa.selenium.interactions génère en interne des actions composites 

en combinant toutes les actions qui ont été appelées ou déclenchées avant d'appeler la méthode build ().

À titre d'exemple :

new Actions(driver).clickAndHold(sourceElement).moveToElement(destinationElement) .release(destinationElement).build();

L'instruction ci-dessus pour effectuer la génération d'opération de glisser-déposer est utilisée pour lier les actions précédentes telles que les méthodes clickAndHold, moveToElement et release.

Voici l'extrait de code ci-dessous pour effectuer le glisser-déposer dans Selenium à l'aide de la méthode de construction de la classe Actions: 

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 "); } }

Faites glisser et déposez dans Selenium à l'aide de la méthode dragAndDrop ():

Comment la méthode dragAndDrop () fonctionne en interne:

La méthode dragAndDrop (sourceWebElement, destinationWebElement) prend essentiellement deux arguments, l'un est la source et l'autre est l'élément web de destination. 
dragAndDrop supprime le besoin de clickAndHold, moveToElement, libérez des méthodes dans la classe Action, il gère en interne tous les scénarios qui sont exécutés par ces méthodes.

Voici l'extrait de code ci-dessous pour effectuer dragAndDrop avec la méthode dragAndDrop:

public void dragAndDropOps(Par source, Par destination) { essayer { WebElement sourceElement = driver.findElement(source); WebElement destinationElement = driver.findElement(destination); Générateur d'actions = nouvelles actions (pilote); builder.dragAndDrop(sourceElement,destinationElement).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 "); } }

Glisser-déposer dans Selenium à l'aide de la méthode dragAndDropBy ():

Comment la méthode dragAndDropBy (WebElement source, int xOffset, int yOffset) fonctionne en interne:

La méthode dragAndDropBy () prend 3 arguments qui sont: 

Source WebElement: l'élément qui est glissé c'est-à-dire l'élément source 

xOffset: décalage de déplacement horizontal de l'emplacement de destination 

yOffset: décalage de déplacement vertical de l'emplacement de destination 

En interne, cette méthode prend l'élément Web source, le déplace et le libère vers l'emplacement de destination. Cette méthode est utile si vous souhaitez déplacer un élément Web source vers n'importe quel emplacement de pixel.

Vous trouverez ci-dessous l'extrait de code pour DragAndDropBy dans Selenium:

public void dragAndDropByOps (Par source, int xOffSet, int yOffSet) { essayez { WebElement sourceElement = driver.findElement (source); Générateur d'actions = nouvelles actions (pilote); builder.dragAndDropBy(sourceElement,xOffSet,yOffSet).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 "); } }

Visitez ici pour le reste des ensembles avancés de commandes Webdriver Selenium intermédiaire.

Commandes avancées de Selenium WebDriver -Réponses:

Double-cliquez sur le sélénium :

Pour reproduire l'opération, c'est-à-dire double-cliquer dans Selenium 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é.

Contextclick dans le sélénium:

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()); } }

Pour les commandes détaillées du pilote Web Advance Selenium, visitez ici .. Aussi pour comprendre le Classe d'actions dans Selenium et ses implémentations visitez ici .

FAQ critiques: 

Qu'est-ce que manage () dans Selenium?

driver.manage () renvoie une référence d'implémentation de l'interface WebDriver.Options. L'interface d'Options est une interface de gestion et de gestion des actions dans un menu de navigateur telles que: 

Pour des ensembles exhaustifs de Questions d'entretien sur le sélénium - Les ensembles critiques et avancés sont ici.

Conclusion:

Dans cette section du didacticiel, nous avons couvert le Basic Webdriver Selenium commandes, cliquez ici pour apprendre les Commandes du pilote Web Selenium intermédiaire et avancé. Pour apprendre Selenium from Scratch, cliquez ici.

Laisser un commentaire