
Scénario : Naviguer sur une page, cliquer sur un lien, vérifier la présence d'un texte spécifique
Détail du scénario de test pour Robot Framework : naviguer, cliquer sur un lien et vérifier la présence d'un texte. Un cas pratique essentiel en automatisation web.
Définition du scénario de test : une interaction web classique
Dans ce deuxième exercice guidé, nous allons nous concentrer sur un scénario d'interaction web très courant : la navigation vers une page initiale, le suivi d'un lien hypertexte pour atteindre une seconde page, et enfin la vérification de la présence d'un contenu spécifique sur cette dernière. Ce type de flux est fondamental dans la plupart des applications web, car il simule la manière dont un utilisateur explore un site.
L'objectif est de vous amener à maîtriser les actions de base de SeleniumLibrary pour la navigation et la validation, tout en introduisant l'importance de l'identification correcte des éléments et de l'attente de leur chargement. Nous continuerons d'utiliser le site "The Internet" de Heroku App, qui est idéal pour ce genre de pratique.
Plus précisément, le scénario que nous allons automatiser est le suivant :
- Ouvrir un navigateur web.
- Naviguer vers la page d'accueil du site "The Internet" (https://the-internet.herokuapp.com/).
- Sur cette page d'accueil, repérer et cliquer sur le lien menant à la page "Checkboxes".
- Une fois sur la page "Checkboxes", attendre que le contenu soit chargé.
- Vérifier que le titre de la page "Checkboxes" (généralement un élément `
` sur ce site) contient bien le texte "Checkboxes".
- (Optionnel pour ce scénario de base, mais développé dans l'exercice complet) Interagir avec les cases à cocher elles-mêmes.
- Fermer le navigateur.
Ce scénario simple met en jeu plusieurs compétences clés : l'ouverture d'URL, la localisation et l'interaction avec des liens, la gestion des transitions entre pages, et la validation de contenu textuel.
Les étapes clés du scénario et les keywords Robot Framework associés
Pour réaliser ce scénario avec Robot Framework et SeleniumLibrary, chaque action se traduit par l'utilisation d'un ou plusieurs keywords :
- Ouvrir le navigateur et naviguer vers l'URL initiale : Cela se fait avec le keyword `Open Browser`, en lui passant l'URL de la page d'accueil et le type de navigateur. Il est aussi courant d'utiliser `Maximize Browser Window` pour une meilleure visibilité.
Open Browser https://the-internet.herokuapp.com/ Chrome - Cliquer sur un lien : Après avoir identifié le lien (par son texte visible, son `id`, ou un autre sélecteur), le keyword `Click Link` est le plus approprié. Il est souvent précédé d'un `Wait Until Page Contains Element` ou `Wait Until Element Is Visible` pour s'assurer que le lien est bien présent et cliquable avant de tenter l'interaction.
Ici, `link:Checkboxes` est un localisateur qui cible un lien dont le texte visible est "Checkboxes".Wait Until Page Contains Element link:Checkboxes timeout=10s Click Link Checkboxes - Vérifier la présence d'un texte spécifique : Une fois la nouvelle page chargée (après le clic sur le lien), il faut valider que nous sommes au bon endroit ou que le contenu attendu est présent. Pour vérifier qu'un élément spécifique contient un texte donné, on peut utiliser `Wait Until Page Contains Element` (pour s'assurer que l'élément cible est chargé) suivi de `Element Text Should Be` (pour une correspondance exacte) ou `Element Should Contain` (si le texte est une partie du contenu de l'élément).
Dans cet exemple, nous attendons que l'élément `Wait Until Page Contains Element css:h3 timeout=10s Element Text Should Be css:h3 Checkboxes` soit présent, puis nous vérifions que son texte est exactement "Checkboxes".
L'utilisation d'attentes explicites (`Wait Until...`) est cruciale pour la robustesse des tests. Les applications web sont dynamiques, et les éléments peuvent ne pas être immédiatement disponibles après une action. Ces attentes permettent au script de patienter un temps raisonnable avant de considérer qu'un élément est manquant et de faire échouer le test.
Importance de l'inspection et des sélecteurs pour ce scénario
La réussite de ce scénario repose heavily sur votre capacité à identifier correctement les éléments avec lesquels interagir. Avant d'écrire le script Robot Framework, l'inspection des pages web concernées est une étape indispensable :
- Page d'accueil (https://the-internet.herokuapp.com/) : Vous devez localiser le lien "Checkboxes". En inspectant cet élément (clic droit > Inspecter), vous trouverez son texte et potentiellement d'autres attributs (comme `href`). Le texte "Checkboxes" est suffisant pour le localisateur `link:Checkboxes`.
- Page "Checkboxes" (https://the-internet.herokuapp.com/checkboxes) : Une fois sur cette page, vous devez identifier l'élément qui contient le titre "Checkboxes". L'inspection révélera qu'il s'agit souvent d'une balise `
`. Son sélecteur pourrait être aussi simple que `css:h3` (si c'est le seul ou le premier `h3` pertinent) ou plus spécifique si nécessaire.
Le choix des sélecteurs est un art en soi. Il faut viser des sélecteurs qui sont à la fois :
- Uniques : Ils doivent pointer vers un seul élément pour éviter toute ambiguïté.
- Robustes : Ils doivent être peu susceptibles de changer si la structure de la page évolue légèrement (par exemple, préférer un `id` stable à un chemin XPath complexe basé sur la hiérarchie).
- Lisibles : Un sélecteur clair facilite la compréhension et la maintenance du test.
Pour ce scénario, l'utilisation de `link:TEXTE_DU_LIEN` est très lisible pour cliquer sur le lien. Pour la validation du titre, un sélecteur CSS comme `css:h3` ou `css:div.example > h3` (si le `h3` est dans un `div` avec la classe `example`) est souvent un bon choix. L'utilisation de variables pour stocker ces sélecteurs dans votre script Robot Framework est une bonne pratique pour améliorer la maintenabilité, comme cela sera démontré dans l'exercice complet.