Comment utiliser Selenium IDE avec des scripts et des commandes (Assert, Verify)

Nous utiliserons le site Web Mercury Tours comme application Web en cours de test. Il s'agit d'un système de réservation de vols en ligne qui contient tous les éléments dont nous avons besoin pour ce tutoriel. Son URL est https://demo.guru99.com/test/newtours/, et ce sera notre URL de base.

Créons maintenant notre premier script de test dans Selenium IDE en utilisant la méthode la plus courante : par enregistrement. Ensuite, nous exécuterons notre script en utilisant la fonction de lecture.

Créer un script en enregistrant

Étape 1

  • Lancement Firefox et Sélénium IDE.
  • Tapez la valeur de notre URL de base : https://demo.guru99.com/test/newtours/.
  • Activez le bouton Enregistrer (s'il n'est pas encore activé par défaut).

Créer un script en enregistrant

Étape 2

In Firefox, aller vers https://demo.guru99.com/test/newtours/. Firefox devrait vous amener à la page similaire à celle présentée ci-dessous.

Créer un script en enregistrant

Étape 3

  • Faites un clic droit sur n'importe quel espace vide de la page, comme sur le logo Mercury Tours dans le coin supérieur gauche. Cela fera apparaître le menu contextuel Selenium IDE. Remarque : Ne cliquez sur aucun objet ou image contenant un lien hypertexte.
  • Sélectionnez l'option « Afficher les commandes disponibles ».
  • Ensuite, sélectionnez « assertTitle exact : Welcome : Mercury Tours ». Il s'agit d'une commande qui garantit que le titre de la page est correct.

Créer un script en enregistrant

Créer un script en enregistrant

Étape 4

  • Dans le texte « Nom d'utilisateur » box de Mercury Tours, tapez un nom d'utilisateur invalide, « invalidUNN ».
  • Dans le texte « Mot de passe » box, saisissez un mot de passe invalide, « invalidPWD ».

Créer un script en enregistrant

Créer un script en enregistrant
Étape 5

  • Cliquez sur le bouton « Connexion ». Firefox devrait vous amener à cette page.

Créer un script en enregistrant

Étape 6

Désactivez le bouton d'enregistrement pour arrêter l'enregistrement. Votre script devrait maintenant ressembler à celui présenté ci-dessous.

Créer un script en enregistrant

Étape 7

Maintenant que nous avons terminé notre script de test, nous allons le sauvegarder dans un scénario de test. Dans le menu Fichier, sélectionnez « Enregistrer le scénario de test ». Alternativement, vous pouvez simplement appuyer sur Ctrl+S.

Créer un script en enregistrant

Étape 8

  • Choisissez l'emplacement souhaité, puis nommez le Cas de test comme « Invalid_login ».
  • Cliquez sur le bouton «Enregistrer».

Créer un script en enregistrant

Étape 9

Notez que le fichier a été enregistré au format HTML.

Créer un script en enregistrant

Étape 10) Revenez à Selenium IDE et cliquez sur le bouton Lecture pour exécuter l'intégralité du script. Selenium IDE devrait être capable de tout répliquer parfaitement.

Créer un script en enregistrant

Introduction aux commandes Selenium – Selenese

  • Les commandes Selenese peuvent avoir jusqu'à un maximum de deux paramètres : cible et valeur.
  • Les paramètres ne sont pas requis à tout moment. Cela dépend du nombre dont la commande aura besoin.

Types de commandes

Actions Ce sont des commandes qui interagissent directement avec les éléments de la page.

Exemple : la commande « cliquer » est une action car vous interagissez directement avec l'élément sur lequel vous cliquez.

La commande « type » est aussi une action car vous mettez des valeurs dans un texte box, et le texte box vous les montre en retour. Il y a une interaction bidirectionnelle entre vous et le texte box.

Accesseurs Ce sont des commandes qui vous permettent de stocker des valeurs dans une variable.

Exemple : la commande « storeTitle » est un accesseur car elle « lit » uniquement le titre de la page et l'enregistre dans une variable. Il n’interagit avec aucun élément de la page.

Affirmations Ce sont des commandes qui vérifient si une certaine condition est remplie.

3 types d'affirmations

  • Affirmer. Lorsqu'une commande « assert » échoue, le test est immédiatement arrêté.
  • Vérifier. Lorsqu'une commande « vérifier » échoue, Selenium IDE enregistre cet échec et poursuit l'exécution du test.
  • Waitfor. Avant de passer à la commande suivante, les commandes « waitFor » attendront d'abord qu'une certaine condition devienne vraie.
    • Si la condition devient vraie pendant la période d’attente, l’étape est réussie.
    • Si la condition ne se réalise pas, l’étape échoue. L'échec est enregistré et l'exécution du test passe à la commande suivante.
    • Par défaut, la valeur du délai d'attente est définie sur 30 secondes. Vous pouvez modifier cela dans la boîte de dialogue Options Selenium IDE sous l'onglet Général.

Affirmer ou vérifier dans Selenium

Affirmer ou vérifier dans Selenium

Affirmer ou vérifier dans Selenium

Commandes communes

Command Nombre de paramètres Description
ouvert 0 – 2 Ouvre une page à l'aide d'une URL.
cliquez/cliquezEtAttendez 1 Clique sur un élément spécifié.
type/typeKeys 2 Tape une séquence de caractères.
verifyTitle/assertTitle 1 Maquetteares le titre réel de la page avec une valeur attendue.
verifyTextPrésent 1 Vérifie si un certain texte est trouvé dans la page.
verifyElementPresent 1 Vérifie la présence d'un certain élément.
vérifierTable 2 Maquetteares le contenu d'un tableau avec les valeurs attendues.
attendre la page au chargement 1 Suspend l'exécution jusqu'à ce que la page soit complètement chargée.
waitForElementPrésent 1 Suspend l'exécution jusqu'à ce que l'élément spécifié devienne présent.

Créer un script manuellement avec Firebug

Maintenant, nous allons recréer le même scénario de test manuellement, en tapant les commandes. Cette fois, nous devrons utiliser Firebug.

Étape 1

Créer un script manuellement avec Firebug

Étape 2: Cliquez sur la ligne vierge la plus haute de l'éditeur.

Créer un script manuellement avec Firebug

Tapez « ouvrir » dans le texte de la commande box et appuyez sur Entrée.

Créer un script manuellement avec Firebug

Étape 3

  • NAVIGUER Firefox à notre URL de base et activez Firebug
  • Dans le volet Selenium IDE Editor, sélectionnez la deuxième ligne (la ligne sous la commande « open ») et créez la deuxième commande en tapant « assertTitle » dans le champ de commande. box.
  • N'hésitez pas à utiliser la fonction de saisie semi-automatique.

Créer un script manuellement avec Firebug

Étape 4

  • Dans Firebug, développez le étiquette pour afficher le étiqueter.
  • Cliquez sur la valeur du (qui est « Bienvenue : Mercury Tours ») et collez-la dans le champ Cible de l'éditeur.

Créer un script manuellement avec Firebug

Étape 5

  • Pour créer la troisième commande, cliquez sur la troisième ligne vide dans l'éditeur et saisissez « type » sur le texte de la commande. box.
  • Dans Firebug, cliquez sur le bouton « Inspecter ».

Créer un script manuellement avec Firebug

Cliquez sur le texte du nom d'utilisateur box. Notez que Firebug vous montre automatiquement le code HTML de cet élément.

Créer un script manuellement avec Firebug

Étape 6 Notez que le texte du nom d'utilisateur box n'a pas d'ID, mais il a un attribut NAME. Nous utiliserons donc son NOM comme localisateur. Copiez la valeur NOM et collez-la dans le champ Cible de Selenium IDE.

Créer un script manuellement avec Firebug

Toujours dans le texte cible box, préfixez « userName » par « name= », indiquant que Selenium IDE doit cibler un élément dont l'attribut NAME est « userName ».

Créer un script manuellement avec Firebug

Tapez « invalidUN » dans le texte de la valeur box de Sélénium IDE. Votre script de test devrait maintenant ressembler à l'image ci-dessous. Nous en avons terminé avec la troisième commande. Remarque : Au lieu de invalidUN, vous pouvez saisir n'importe quelle autre chaîne de texte. Mais Selenium IDE est sensible à la casse et vous tapez les valeurs/attributs exactement comme dans l'application.

Créer un script manuellement avec Firebug

Étape 7

  • Pour créer la quatrième commande, saisissez « type » sur le texte de la commande. box.
  • Encore une fois, utilisez le bouton « Inspecter » de Firebug pour obtenir le localisateur du texte « Mot de passe » box.

Créer un script manuellement avec Firebug

  • Collez l'attribut NAME (« mot de passe ») dans le champ Cible et préfixez-le avec « name= »
  • Tapez « invalidPW » dans le champ Valeur de Selenium IDE. Votre script de test devrait maintenant ressembler à l'image ci-dessous.

Créer un script manuellement avec Firebug

Étape 8

  • Pour la cinquième commande, tapez « clickAndWait » sur le texte de la commande box dans Sélénium IDE.
  • Utilisez le bouton « Inspecter » de Firebug pour obtenir le localisateur du bouton « Connexion ».

Créer un script manuellement avec Firebug

  • Collez la valeur de l'attribut NAME (« login ») sur le texte cible box et préfixez-le avec « name= ».
  • Votre script de test devrait maintenant ressembler à l'image ci-dessous.

Créer un script manuellement avec Firebug

Étape 9: Enregistrez le scénario de test de la même manière que nous l'avons fait dans la section précédente.

Utilisation du bouton Rechercher

Le bouton Rechercher dans Selenium IDE est utilisé pour vérifier si ce que nous avions mis dans le texte cible box est en effet le bon élément d'interface utilisateur.

Utilisons le cas de test Invalid_login que nous avons créé dans les sections précédentes. Cliquez sur n'importe quelle commande avec une entrée Target, par exemple la troisième commande.

Utilisation du bouton Rechercher

Cliquez sur le bouton Rechercher. Notez que le texte du nom d'utilisateur box sur la page Mercury Tours devient mis en surbrillance pendant une seconde.

Utilisation du bouton Rechercher

Cela indique que Selenium IDE a pu détecter et accéder correctement à l'élément attendu. Si le bouton Rechercher a mis en évidence un élément différent ou aucun élément du tout, alors il doit y avoir un problème avec votre script.

Exécuter la commande

Cela vous permet d'exécuter n'importe quelle commande sans exécuter l'intégralité du scénario de test.. Cliquez simplement sur la ligne que vous souhaitez exécuter puis soit cliquez sur « Actions > Exécuter cette commande » dans la barre de menu, soit appuyez simplement sur « X » sur votre clavier.

Étape 1) Assurez-vous que votre navigateur se trouve sur la page d'accueil de Mercury Tours. Cliquez sur la commande que vous souhaitez exécuter. Dans cet exemple, cliquez sur le « type | Nom d'utilisateur | invalidUN ».

Exécuter la commande

Étape 2) Appuyez sur « X » sur votre clavier.

Étape 3) Notez que le texte box pour le nom d'utilisateur est renseigné avec le texte "invalidUN"

Exécuter la commande

L'exécution des commandes de cette manière dépend fortement de la page qui Firefox affiche actuellement. Cela signifie que si vous essayez l'exemple ci-dessus avec le Google homepage affichée à la place de Mercury Tours, alors votre étape échouera car il n'y a pas de texte box avec un attribut « userName » sur la page d'accueil de Google.

Point de départ

Un point de départ est un indicateur qui indique à Selenium IDE quelles lignes l'exécution va commencer. Sa touche de raccourci est « S ».

Point de départ

Dans l'exemple ci-dessus, la lecture démarrera sur la troisième ligne (tapez | password | invalidPW). Vous ne pouvez avoir qu’un seul point de départ dans un seul script de test.

Le point de départ est similaire à Execute Command dans la mesure où il dépend de la page actuellement affichée. Le point de départ échouera si vous êtes sur la mauvaise page.

Points d'arrêt

Les points d'arrêt sont des indicateurs qui indiquent à Selenium IDE où suspendre automatiquement le test. La touche de raccourci est « B ».

Points d'arrêt

Le surlignage jaune signifie que l'étape en cours est en attente. Cela prouve que Selenium IDE a suspendu l'exécution à cette étape. Vous pouvez avoir plusieurs points d'arrêt dans un seul scénario de test.

Step

Il vous permet d'exécuter les commandes suivantes une par une après avoir suspendu le scénario de test. Utilisons le scénario de la section précédente « Points d'arrêt ».

Step

Avant de cliquer sur « Étape ».

Le scénario de test s'arrête à la ligne « clickAndWait | se connecter".

Step Après avoir cliqué sur « Étape ».

Le « cliquezEtAttendez | login » est exécutée et passe à la commande suivante (verifyTitle | Sign-on: Mercury Tours).

Notez que la ligne suivante est mise en pause même s'il n'y a pas de point d'arrêt. C'est l'objectif principal de la fonctionnalité Step : elle exécute les commandes suivantes une par une pour vous donner plus de temps pour inspecter le résultat après chaque étape.

Points importants à noter lors de l'utilisation d'autres formats dans la vue source

Points importants à noter lors de l'utilisation d'autres formats dans la vue source

Selenium IDE ne fonctionne bien qu'avec HTML – les autres formats sont encore en mode expérimental. Pas conseillé pour créer ou éditer des tests en utilisant d'autres formats dans Source View car il reste encore beaucoup de travail à faire pour le rendre stable. Vous trouverez ci-dessous les bugs connus depuis la version 1.9.1.

  • Vous ne pourrez pas effectuer de lecture ni revenir à la vue Tableau à moins de revenir au HTML.
  • La seule façon d’ajouter des commandes en toute sécurité sur le code source est de les enregistrer.
  • Lorsque vous modifiez le code source manuellement, tout sera perdu lorsque vous passerez à un autre format.
  • Bien que vous puissiez enregistrer votre scénario de test dans la vue Source, Selenium IDE ne pourra pas l'ouvrir.

La méthode recommandée pour convertir les tests Selenese consiste à utiliser l'option « Exporter le cas de test sous… » dans le menu Fichier, et non via la vue source.

Résumé

  • Les scripts de test peuvent être créés soit en enregistrant, soit en tapant manuellement les commandes et les paramètres.
  • Lors de la création manuelle de scripts, Firebug est utilisé pour obtenir le localisateur.
  • Le bouton Rechercher permet de vérifier que la commande est capable d'accéder au bon élément.
  • La vue Table affiche un script de test sous forme de tableau tandis que la vue Source l'affiche au format HTML.
  • La modification de la vue source vers un format non HTML est encore expérimentale.
  • N'utilisez pas la vue Source pour créer des tests dans d'autres formats. Utilisez plutôt les fonctionnalités d’exportation.
  • Les paramètres ne sont pas requis à tout moment. Cela dépend de la commande.
  • Il existe trois types de commandes :
    • Actions – interagit directement avec les éléments de la page
    • Accesseurs – « lit » une propriété d’élément et la stocke dans une variable
    • Assertions – compares une valeur réelle avec une valeur attendue
  • Les assertions ont trois types :
    • Affirmer – en cas d’échec, les étapes suivantes ne sont plus exécutées
    • Vérifiez – en cas d’échec, les étapes suivantes sont toujours exécutées.
    • WaitFor – réussit si la condition spécifiée devient vraie dans le délai d'attente ; autrewise, ça va échouer
  • Les commandes les plus courantes sont :
    • ouvert
    • cliquez/cliquezEtAttendez
    • type/typeKeys
    • verifyTitle/assertTitle
    • verifyTextPrésent
    • verifyElementPresent
    • vérifierTable
    • attendre la page au chargement
    • waitForElementPrésent