Tests Selenium en 5 min (2/2) : Katalon Recorder
Selenium reste toujours à l’heure actuelle le Framework incontournable pour les tests d'interface web. J’avais évoqué dans un précédent article à quel point il était simple d’exécuter ses tests Selenium sur tout une batterie de navigateurs web (Chrome/Firefox/IE/Safari/Mobile, avec une ancienne version, etc.), et je voulais parler dans celui-ci d’un petit outil d’enregistrement, appelé Katalon Recorder et qui peut permettre de gagner du temps sur la rédaction de ses scénarios de tests.
Écrire des tests Selenium en C# n’est pas très compliqué avec un peu de pratique, mais il peut être intéressant de s’armer d’un outil d’enregistrement, notamment lorsque l’on débute sur le sujet. Katalon Recorder se présente sous la forme d’une extension gratuite Chrome ou Firefox. Il permet d’enregistrer automatiquement des actions, des assertions, etc. et surtout permet de générer le code Selenium en C# correspondant à ces enregistrements.
Enregistrement d’un scénario de test avec Katalon Recorder
Une fois l’extension ajoutée au navigateur, Katalon Recorder s’ouvre dans une fenêtre modale et permet de démarrer l’enregistrement d’un test via le bouton Record (1). Aussitôt, le navigateur se focalise sur un onglet et chaque action effectuée à l’intérieur de cet onglet est capturée par l’enregistreur.
L’enregistreur essaie de s’appuyer toujours sur un id lorsque celui-ci est disponible pour situer un élément de la page web, ce qui a le mérite d’offrir en général de meilleurs performances, et surtout une plus grande robustesse face aux changements de l'interface graphique. Il est néanmoins également capable de générer des requêtes XPath, langage peu évident pour le commun des mortels :)
À noter également que Katalon Recorder propose une organisation simple de ses scénarios de tests via des suites de tests, qui peuvent correspondre à une fonctionnalité ou un module donné, et permet ainsi de regrouper tous les cas de tests associés, et pouvoir plus facilement les exécuter (3).
Vérifier / Effectuer une assertion sur un élément d’une page web avec Katalon Recorder
Un scénario de test ne serait pas complet sans y rajouter des assertions pour vérifier que le scénario s’est bien déroulé. L’enregistreur propose donc, via le menu affiché lors d’un clic droit sur l’élément à vérifier, d’ajouter une assertion sur le texte, la valeur, etc. d’un élément.
Génération du code Selenium en C# à partir du scénario enregistré
Une fois le scénario enregistré, le bouton Export disponible sur l’extension permet de générer le code Selenium en C#, basé sur l'un des deux Framework de test MSTest ou NUnit.
Si tout le code généré constitue une base pour démarrer rapidement un projet de test Selenium en C#, il est généralement plutôt conseillé de s’inspirer du code généré, notamment celui contenu dans la méthode préfixée par [TestMethod], et de l’intégrer dans son projet de test, qui aura pris soin de respecter une architecture maintenable (Page Object Model, Webdriver Factory, etc.)
Conclusion
Plutôt que d’inspecter les éléments d’une page un à un, il peut être intéressant de se baser sur un enregistreur (notamment lorsque l’on manque d’expérience sur le sujet, et notamment sur les sélecteurs XPath) afin de gagner du temps sur l’écriture du Framework. Néanmoins, il est important de garder en tête que lorsque l’on souhaite se constituer un Framework de test d’interface suffisamment robuste (i.e. qui ne pète pas de partout au moindre déplacement d’un élément graphique), le respect de patterns éprouvés tels que le POM (Page Object Model) est indispensable.
Commentaires