Published On: 22 juin 20216,6 min read

Comment automatiser ses tests avec Selenium IDE

Dans le cadre d’un projet informatique, la phase de recette est indispensable pour assurer des livraisons de qualité, néanmoins, c’est souvent celle-ci qui est réduite afin de gagner du temps.

Pour garantir une phase de recette minimale, l’automatisation de tests de non-régression via Selenium IDE peut mise en place facilement (en partie grâce à la simplicité d’accès du plugin).

Qu’est-ce que Selenium IDE ?

La suite Selenium est un ensemble d’outils open-source qui dispose d’une forte communauté.
L’un de ces outils, Selenium IDE est un outil de scripting qui prend la forme d’un plugin à installer sur son navigateur web, comme Firefox ou Chrome, permettant de créer un parcours dynamique sur un site web et de le rejouer facilement comme le ferait un utilisateur standard pour vos tests.

SeleniumIDE

Téléchargez notre livre blanc et basculer dans le “monde merveilleux” des tests automatisés !

Comment fonctionne l’outil Selenium IDE ?

Une fois le plugin Selenium IDE installé sur un navigateur web, comme Chrome ou Firefox, un nouveau projet peut être créé. Il contiendra un ou plusieurs parcours utilisateurs sous forme de script.

Au début de l’enregistrement du parcours utilisateur, le navigateur s’ouvrira et l’utilisateur effectuera la navigation sur le site web qu’il a spécifié. Chaque étape du parcours sera alors automatiquement « traduite » sous forme de script et intégrée dans Selenium IDE. Dans le script généré, une étape est composée de 4 éléments :

  •   La commande (action effectuée),
  •   La cible (élément ciblé dans la page par l’action),
  •   La valeur (elle indique la valeur associée à la commande si nécessaire)
  •   La description (nomme l’étape).

Dans l’exemple suivant, l’étape est appelée « Vérification du prix ».

L’automate vérifie que le texte de l’élément de la page situé au niveau de la « target » est bien €199.80.

commande Selenium

Une fois que les différents parcours utilisateur souhaités sont implémentés dans le plugin et/ou enregistrés au format JSON, il sera possible de les rejouer pour vos tests. Ce qui permettra, suite à des montées de version, de s’assurer qu’il n’y a pas de régression.

Quelles sont les limites de Selenium IDE

Les parcours utilisateur enregistrés peuvent être joués sur un navigateur en local ayant accès au plugin. Ce qui limite leur utilisation à la configuration sur laquelle tourne le script (présence de cache, version de navigateur, système d’exploitation de l’ordinateur, pas de variabilisation, etc.).

L’intégration de ces scripts sur une plateforme d’automatisation de test de non-régression permettra de passer outre ces limites.

  • Le lancement des tests sur différents navigateurs, différents OS en parallèle (sans cache) sur des machines distantes dans un cloud public
  • La définition de la couverture de test (méta-scénario, jeux de données, variables, conditions, …)
  • La gestion des groupes de lancement grâce à des tags (socle critique / par fonctionnalité / par interface / lancement par navigateurs)
  • Un reporting complet des résultats obtenus sur une période (gestion des sprints)
  • La gestion des versions de scénarios
  • La programmation du lancement des tests ou lancement automatique suite à un déploiement
  • La récupération des résultats via une API.

Maintenant que nous avons vu ensemble les bases de la création de tests de non-regression via Selenium IDE, voyons comment automatiser ces tests avec une plateforme comme CloudNetCare dans le cadre d’une campagne de monté en charge.

Automatisation des tests: Pourquoi intégrer les scripts Selenium IDE dans CloudNetCare

Pour rappel, l’intégration des scripts sur une plateforme d’industrialisation de test de non-régression, telle que CloudNetCare, permettra d’automatiser vos tests tout en palliant aux limites de Selenium IDE, comme le lancement des tests sur différents navigateurs web, différents OS en parallèle (sans cache) sur des machines distantes dans un cloud public.

Intégration et automatisation des tests Selenium IDE dans CloudNetCare

Un plugin « CloudNetCare for Selenium IDE » permet à la plateforme de dialoguer directement avec Selenium IDE pour importer ou exporter des scripts Selenium de CloudNetCare vers Selenium IDE ou inversement. (Vidéos d’explication)

Il est donc possible de créer ou modifier un parcours utilisateur dans CloudNetCare ou directement via Selenium IDE, qui sera automatiquement importé dans CloudNetCare à l’enregistrement et pourra être utilisé pour un test fonctionnel. (Vidéos d’explication)

creation Test

Lancement des tests d’une application sur différents navigateurs web

Afin de couvrir les cas d’utilisation les plus fréquents, les parcours utilisateurs doivent être joués sur différents navigateurs web ayant parfois des versions spécifiques.

Un test fonctionnel d’une application dans CloudNetCare sera donc composé d’un ou plusieurs scénarios joués par exemple sur Chrome, Safari, Firefox et IE11. Certaines étapes pourront être conditionnées, si cela est nécessaire, pour être jouées uniquement sur certains navigateurs.

Les tests pourront par ailleurs être planifiés ou lancés à distance grâce à une API. Ce qui permet de lancer le socle critique ou la campagne de test de non-régression automatiquement à la suite d’un déploiement.

Optimisation de la maintenance des tests de non-régression

La maintenance d’une couverture de test sur une application étendue demande du temps si elle n’est pas optimisée. Les plateformes d’automatisation permettent de mutualiser certains éléments afin de la simplifier au maximum.

  • Les méta-scénarios : certaines parties de scénarios sont communes à plusieurs tests de non-régression, tels que les scénarios de connexion ou de déconnexion. Les tests fonctionnels peuvent donc être constitués de plusieurs scénarios successifs qui constitueront un « méta-scénario ».
  • Les fonctions JavaScript : ne sont pas forcément gérées dans les étapes des scénarios mais peuvent être intégrées dans un fichier .js global qui sera réutilisé dans tous les tests fonctionnels. La mise à jour d’une fonction se fera à un seul endroit et non plus sur tous les tests.
  • Les variables et jeux de données : L’implémentation de ces scripts dans une plateforme d’industrialisation permet d’y intégrer des notions de variables et de jeux de données. Certaines variables (dites globales) pourront être stockées et utilisées tout au long de la campagne de test de non-régression.

Un outil de reporting pour suivre vos tests

Par ailleurs, un reporting sera disponible suite à l’exécution de la campagne de test via plusieurs canaux (résultats sous forme de dashboard, KPI, export PDF, mail, API,…) . Ce qui permettra de jauger la qualité de la livraison de votre application à chaque release.

Automatiser vos campagnes de test en combinant Selenium IDE et CloudNetCare

Selenium IDE est un outil indispensable à l’élaboration d’une campagne de test web automatisé. Il permet de créer et de mettre à jour les différents parcours web facilement. Le fait de le combiner à une plateforme d’industrialisation de tests de non-régression permet d’optimiser sa campagne de test de non-régression (couverture, maintenabilité, reporting)

Testez plus vite et mieux avec les outils CloudNetCare

Une plateforme SaaS puissante au service de vos développements et de l’expérience de vos utilisateurs. Testez plus vite, plus souvent et mieux avec la plateforme d’automatisation des tests de CloudNetCare.

Testez plus vite
et mieux avec les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing

Testez plus vite et mieux avec
les outils
CloudNetCare

UX Functional testing

Plateforme SaaS de tests de montée en charge

UX Functional testing
UX Functional testing