selenium 4 new features
Cette revue répertorie les différences entre Selenium 3 et Selenium 4 et les nouvelles fonctionnalités et modifications de la dernière version Selenium 4 (Alpha 3):
La version Selenium 4 (Alpha 3) est maintenant lancée sur le marché. Comme nous le savons tous, le fondateur de Selenium est «Simon Stewart» et il a maintenant introduit la nouvelle version non seulement pour les pilotes Web, mais aussi pour Grid et IDE.
Selenium 4 a adopté le protocole de pilote Web standard du W3C. Tous les navigateurs comme Google Chrome, Safari, Internet Explorer, Edge et bien d'autres suivent également la norme W3C en raison de laquelle l'interaction entre le pilote de navigateur et le pilote Web Selenium sera désormais basée sur le protocole de pilote Web standard W3C.
Ce que vous apprendrez:
Critique du sélénium 4
Les modifications liées aux normes W3C sont apportées pour améliorer la version, car les commandes Selenium précédentes fonctionnaient très différemment sur différents navigateurs.
Remarque : La version Selenium 4 Alpha est sortie en avril 2019.
Téléchargez le Version Sélénium 4 Alpha en cliquant sur '4.0.0-alpha-6' comme indiqué dans l'image ci-dessous:
La dernière version des bibliothèques est présente sur le référentiel central Maven.
Lecture recommandée => Pilote à distance Selenium
Différence entre le sélénium 3 et le sélénium 4
Sélénium 3 | Sélénium 4 |
---|---|
L'interaction du navigateur est basée sur le protocole filaire JSON en raison de laquelle il nécessite un codage et un décodage de l'API | Il suit le protocole standard W3C en raison duquel le pilote et la communication du navigateur suivent la procédure standard, ne nécessitent pas d'encodage et de décodage de l'API, la communication se fait donc directement. |
Modifications importantes liées à l'architecture
# 1) Prise en charge supprimée pour certains navigateurs: Maintenant, ils ont supprimé les supports pour les navigateurs Opera et Phantom JS. Les utilisateurs d'Opera peuvent utiliser le navigateur Chrome, tandis que les utilisateurs de Phantom JS peuvent utiliser Chrome ou Firefox en mode sans tête.
# 2) Grille de sélénium optimisée: Selenium Grid a été développé il y a longtemps en 2011.
Selenium 4 a mis au point une nouvelle architecture pour supprimer les problèmes survenus plus tôt lors de l'installation et de la configuration, également lors de la connexion entre le hub et la machine à nœuds.
Voyons brièvement la grille Selenium, qui contient deux composants principaux:
- Nœud: Il est utilisé pour exécuter des tests sur des systèmes informatiques individuels. Il peut y avoir plusieurs nœuds dans une grille.
- Moyeu: C'est le point central à partir duquel il contrôle toutes les machines présentes dans le réseau, et il ne contient qu'un seul concentrateur qui aide à allouer l'exécution des tests à différents nœuds.
Mais dans Selenium 4, Grid est très flexible. Cela nous permet de tester les cas contre plusieurs navigateurs, navigateurs de différentes versions, et également sur différents systèmes d'exploitation. Même maintenant, aucune configuration n'est nécessaire pour démarrer le concentrateur et les nœuds individuellement une fois que l'utilisateur démarre le serveur, la grille fonctionne automatiquement à la fois comme nœuds et concentrateur.
Il prend également en charge des outils avancés tels que Docker, AWS, Azure et bien plus encore, utiles dans le processus DevOps. Maintenant, Grid a une interface utilisateur plus conviviale et contient des informations pertinentes relatives à la session, à l'exécution, à la capacité, etc.
>> Cliquez Ici pour plus d'informations.
# 3) Documentation normalisée: Les documents jouent un rôle essentiel pour tout utilisateur, et les documents Selenium n'ont pas été mis à jour depuis Selenium 2.0.
Avec Selenium 4, ils ont mis à jour tous les documents officiels liés à Selenium qui incluent le pilote Web, la grille et l'EDI pour expliquer les derniers changements.
# 4) Amélioration de Selenium 4 IDE: Selenium IDE est un outil d'enregistrement et de lecture utilisé pour l'interaction de l'utilisateur avec le navigateur, et la nouvelle version de l'IDE est disponible avec plus de fonctionnalités
Ces caractéristiques comprennent:
- Cela améliore la prise en charge du navigateur. Désormais, avec une nouvelle version, tout fournisseur de navigateur peut facilement se connecter au dernier Selenium IDE.
- CLI Runner sera basé sur NodeJS, pas sur le runner HTML, et il prend en charge l'exécution parallèle à partir de laquelle il fournit le rapport avec le nombre total de cas de test réussis / échoués ainsi que le temps d'exécution pris.
# 5) Meilleure surveillance: Les processus de journalisation et de suivi des demandes sont désormais améliorés pour mieux maîtriser le processus de débogage pour les ingénieurs en automatisation, car il ne se limite pas à DevOps.
Caractéristiques du sélénium 4
Les caractéristiques sont les suivantes:
# 1) Capturez une capture d'écran d'un élément Web spécifique:
Auparavant, les utilisateurs pouvaient prendre une capture d'écran de la page entière car il n'était pas prévu de prendre la capture d'écran de l'élément Web spécifique. Mais avec Selenium 4, les utilisateurs peuvent prendre la capture d'écran d'un élément Web spécifique.
Veuillez trouver le code ci-dessous:
WebElement logo=driver.Findelement (By.xpath(“//div(@id=’divLogo’)//img”)); File file=logo.getScreenshotAs(OutputType.FILE); File destFile =new File(“logo.png”); FileUtils.copyFile(file,destfile);
# 2) Ouvrez le nouvel onglet sur le navigateur:
Désormais, dans Selenium 4, l'utilisateur peut ouvrir une URL dans un nouvel onglet avec l'onglet existant.
Par exemple: Si l'utilisateur souhaite ouvrir 2 URL dans deux onglets différents en même temps, l'utilisateur peut le faire avec le Selenium 4.
Veuillez trouver le code ci-dessous pour référence:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.TAB); driver.navigate().to(https://www.crmpro.com/);
# 3) Ouvrez une nouvelle fenêtre sur le navigateur:
En utilisant Selenium 4, les utilisateurs peuvent également ouvrir la nouvelle fenêtre sur le même navigateur.
Par exemple, si l'utilisateur souhaite accéder à deux applications dans le même navigateur, il peut maintenant le faire.
Veuillez trouver le code ci-dessous pour référence:
driver.get(https://www.google.com/); driver.switchTo().newWindow(WindowType.WINDOW); driver.navigate().to(https://www.crmpro.com/);
# 4) Emplacement de l'objet:
Désormais, avec Selenium 4, les utilisateurs peuvent obtenir les coordonnées, la dimension, la hauteur, la largeur, etc. comme emplacement des éléments Web ou de l'objet.
Veuillez trouver le code ci-dessous pour votre référence:
WebElement logo1=driver.Findelement(By.xpath(“//div(@id=’divLogo’)//img”)); System.out.println(“Height:” +logo.getRect().getDimension().getHeight()); System.out.println(“Height:” +logo.getRect().getDimension().getWidth()); System.out.println(“X Location: “ +Logo.getRect().getX()); System.out.println(“Y Location: “ +Logo.getRect().getY());
# 5) Localisateurs relatifs:
Ceux-ci sont également connus sous le nom de localisateurs conviviaux, et cette fonctionnalité est ajoutée pour découvrir l'élément présent à proximité d'un autre élément Web ou, nous pouvons dire qu'il peut trouver les éléments Web en fonction de l'emplacement de l'interface graphique.
Il y a cinq localisateurs ajoutés dans Selenium 4:
- en dessous de(): Élément Web situé en dessous pour l'élément spécifié.
- toLeftOf (): Élément Web cible qui est présent à gauche de l'élément spécifié.
- toRightOf (): Élément Web cible qui est présenté à droite d'un élément spécifié.
- au dessus(): Élément Web situé au-dessus de l'élément spécifié.
- près() : Élément Web cible éloigné (environ 50 pixels) de l'élément spécifié.
Noter: Toutes les méthodes de localisateurs relatifs ci-dessus prennent en charge la méthode «withTagName».
L'exemple ci-dessous concerne les localisateurs toLeftof () et below ():
WebElement book; book = driver.Findelement(RelativeLocators.withTagName(“li”).toLeftOf(By.id(“pid1”)) .below(By.id(“pid2”))); String id1=book.getAttribute (“id1”);
L'exemple ci-dessous concerne les localisateurs toRightOf () et above ():
comment configurer junit dans eclipse
WebElement book1; book1 = driver.Findelement(RelativeLocators.withTagName(“li”).toRightOf(By.id(“pid1”)) .above(By.id(“pid2”))); String id2=book1.getAttribute (“id2”);
# 6) Outils de développement Chrome:
Dans la nouvelle version de Selenium, ils ont apporté des modifications internes à l'API. Précédemment dans Selenium 3, le pilote Chrome s'étend directement à la classe Remote Web Driver. Mais maintenant dans Selenium 4, la classe de pilote Chrome s'étend à Chromium Driver. La classe Chromium Driver a des méthodes prédéfinies pour accéder à l'outil de développement.
Noter: Chromium Driver étend la classe de pilote Web distant.
En utilisant l'API, nous pouvons effectuer les opérations suivantes:
- Activer le réseau hors ligne
- Activer le réseau en ligne
- Obtenir les journaux de la console
- Charger le site Web Assurer
Conclusion
Dans ce didacticiel, nous avons couvert l'introduction de la nouvelle version de Selenium 4, certaines fonctionnalités à venir liées à Selenium Grid, IDE et Selenium WebDriver.
Nous avons également vu une brève description des Relative Locators, outils de développement Chrome. Nous pouvons attendre beaucoup du Selenium 4, que ce soit le support du navigateur, la documentation ou l'interface utilisateur.
Auteur: Cet article est écrit par Akanksha K qui a plus de 7 ans d'expérience dans la qualité des logiciels et la création de cadres de test.
lecture recommandée
- 30+ meilleurs tutoriels sur Selenium: Apprenez le sélénium avec de vrais exemples
- Introduction à l'installation du téléchargement de Selenium IDE et aux fonctionnalités principales
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Tutoriel ChromeDriver Selenium: Tests Selenium Webdriver sur Chrome
- Comment utiliser Firebug pour créer des scripts Selenium - Tutoriel Selenium # 4
- Tutoriel Selenium PhantomJS pour l'automatisation sans tête
- Actions Selenium: gérer le double clic droit dans Selenium
- Localisateurs de sélénium: identifier les éléments Web à l'aide de XPath dans Selenium (exemples)