
Scénario : Se connecter à un site de démonstration (ex: The Internet - Heroku App)
Détail du scénario de test pour automatiser la connexion au site de démonstration 'The Internet' (Heroku App) avec Robot Framework. Un cas pratique pour l'apprentissage.
Définition du scénario de test : la connexion à "The Internet"
L'objectif de ce premier exercice guidé est d'automatiser un processus de connexion utilisateur. Pour cela, nous allons utiliser un site web public, spécifiquement conçu pour s'entraîner à l'automatisation des tests : "The Internet", hébergé sur Heroku App. Ce site propose une variété de pages et d'éléments interactifs, ce qui en fait un excellent terrain de jeu.
Le scénario que nous allons mettre en oeuvre est le suivant : se connecter à la section sécurisée du site en utilisant des identifiants valides. Cette tâche, bien que simple en apparence, couvre plusieurs actions fondamentales de l'automatisation web : navigation, saisie de texte, clic sur un bouton, et vérification d'un résultat.
Plus précisément, notre script Robot Framework devra effectuer les actions suivantes dans l'ordre :
- Ouvrir un navigateur web (par exemple, Chrome ou Firefox).
- Naviguer vers la page de connexion de "The Internet" : https://the-internet.herokuapp.com/login.
- Localiser le champ de saisie du nom d'utilisateur.
- Entrer le nom d'utilisateur fourni pour la démonstration : "tomsmith".
- Localiser le champ de saisie du mot de passe.
- Entrer le mot de passe correspondant : "SuperSecretPassword!".
- Localiser et cliquer sur le bouton de connexion (généralement libellé "Login" ou une icône).
- Après la soumission du formulaire, vérifier que la connexion a réussi. Sur ce site, une connexion réussie redirige vers une page sécurisée et affiche un message de confirmation, typiquement quelque chose comme "You logged into a secure area!".
- Optionnellement, mais c'est une bonne pratique, fermer le navigateur à la fin du test.
Pourquoi ce scénario et ce site ? Importance pédagogique
Choisir "The Internet" de Heroku App comme site de démonstration n'est pas anodin. Ce site est largement utilisé dans la communauté des testeurs pour plusieurs raisons :
- Stabilité et accessibilité : Il est publiquement accessible et maintenu, garantissant que les exemples et exercices basés dessus restent fonctionnels.
- Eléments clairs : Les éléments de la page de connexion (champs, bouton) possèdent des attributs HTML (comme `id`, `name`, `class`) qui sont relativement faciles à identifier et à utiliser comme sélecteurs dans nos scripts Robot Framework. Cela simplifie l'apprentissage initial de la localisation d'éléments.
- Feedback immédiat : La page de résultat après la connexion fournit un message clair, ce qui rend l'étape de vérification (assertion) simple à implémenter et à comprendre.
- Variété de cas : Bien que nous nous concentrions sur la connexion, ce site propose de nombreux autres exemples (cases à cocher, listes déroulantes, alertes, etc.) qui pourront servir pour des exercices futurs.
Ce scénario de connexion est un classique de l'automatisation des tests. Presque toutes les applications web nécessitant une authentification utilisateur auront un flux similaire. Maîtriser l'automatisation de ce processus vous donne donc une base solide applicable à une multitude de projets réels. Vous apprendrez à interagir avec les types d'éléments les plus courants des formulaires web.
Préparation avant le codage : inspection de la page cible
Avant même d'écrire la première ligne de code Robot Framework, une étape cruciale est l'inspection de la page web cible. Ouvrez https://the-internet.herokuapp.com/login dans votre navigateur et utilisez les outils de développement (généralement accessibles via un clic droit > "Inspecter" ou F12).
Votre objectif est d'identifier les sélecteurs pour les éléments suivants :
- Le champ de saisie du nom d'utilisateur.
- Le champ de saisie du mot de passe.
- Le bouton de connexion.
- La zone où le message de succès (ou d'erreur) s'affichera après la tentative de connexion.
Par exemple, en inspectant le champ du nom d'utilisateur, vous pourriez trouver un attribut `id="username"`. Pour le mot de passe, ce pourrait être `id="password"`. Le bouton pourrait être un élément `