[Selenium] Selenium 4 : le point sur les nouveautés

Dans les précédents articles nous sommes revenus sur les changements dans Selenium IDE et Selenium Grid. Dans cet article nous allons voir les autres modifications majeures introduites par Selenium 4.

  • Selenium 4 marque l’adoption du protocole Webdriver W3C et la disparition du protocole JSON Wire. Le protocole W3C était déjà en place depuis la version 3.8 au coté du protocole JSON Wire. Ce protocole permet de ne plus à avoir à modifier les scripts des tests pour s’adapter à un navigateur ou à un autre. Les tests sont donc plus stables et plus faciles à maintenir. Comme le Selenium Webdriver et les navigateurs utilisent le même protocole ils peuvent communiquer directement sans passer par la phase d’encodage décodage des requêtes de l’API. Le fait que le protocole Webdriver 3WC soit standardisé permet d’aller vers une meilleure compatibilité entre les implémentions de la Webdriver API par les navigateurs et les applications tierces.
  • Selenium 4 introduit les relative locators. Ils permettent de trouver un élément dans la page en le situant par rapport à un autre. Ces locators sont Above, Below, Left of, Right of et Near. Cette méthode facilite le travail du concepteur de scripts de test en lui permettant d’accéder à des éléments qui auraient été difficiles à identifier autrement. Il est possible de chaîner ces locators (par exemple, en dessous de x et à gauche de y).
  • Il est possible d’utiliser les Chrome DevTools (CDP API) ainsi que la BiDirectional API (BiDi API). La documentation conseille d’utiliser la BiDi API. Ces API apportent un plus grand contrôle sur la navigateur utilisé pour les tests. Avec la BiDirectionnal API on peut réaliser les actions suivantes : effectuer une authentification basique, capturer les événements lorsqu’ils effectuent des modifications dans le DOM (DOM mutations) sur un élément spécifique, écouter les événements de console.log, écouter les exceptions JS, capturer les événements réseau qui arrivent dans le navigateur. La CDP API permet de simuler la position géographique, modifier le mode de l’appareil (taille de l’écran, mobile ou non…) et de collecter des mesures de performances.
  • L’API Actions est aussi plus riche. De nouvelles fonctionnalités ont été ajoutées : actions multi-touch, zoom-in, zoom-out, presser deux touches simultanément, et plus.
  • L’API NewWindow permet de créer une nouvelle fenêtre ou un nouvel onglet et de basculer automatiquement dessus. Auparavant il fallait détecter la présence de la nouvelle fenêtre ou du nouvel onglet puis obtenir son WindowHandle pour pouvoir basculer dessus.
  • La documentation officielle est complète, mise à jour et permet de trouver facilement l’information que l’on cherche. Le tout dans un site Web qui a été refait.
  • Quelques éléments sont obsolètes. La documentation de Selenium 4 en dresse la liste.

Sources :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *