Stocker les variables, l'écho, l'alerte, la gestion des popups dans Selenium IDE
⚡ Résumé intelligent
Stocker les commandes dans Selenium L'IDE enregistre les valeurs d'exécution dans des variables nommées, la commande echo les affiche dans le journal, et une famille de commandes dédiée gère les alertes, les boîtes de dialogue de confirmation et la commutation entre plusieurs fenêtres de navigateur.

Dans ce tutoriel, vous apprendrez les commandes du magasin, la commande echo, ainsi que la gestion des alertes et des fenêtres contextuelles. Selenium IDEEnsemble, ces commandes transforment un script enregistré fixe en un script qui réagit à tout ce que l'application renvoie lors de son exécution.
⚠️ Remarque concernant les versions : Les captures d'écran ci-dessous proviennent de l'original Firefox-brancher Selenium L'IDE et les commandes utilisent ses noms Selenese en camelCase. La version actuelle de Chrome, Firefox L'extension Edge conserve le même comportement, mais écrit la plupart des noms de commandes avec des espaces. Une carteping Le tableau apparaît vers la fin de cet article, et chaque commande et capture d'écran originales sont conservées telles que publiées.
Selenium Variables de l'EDI
Boutique
Pour stocker des variables dans Selenium IDE, nous utilisons le de stocker commande. L’illustration ci-dessous stocke la valeur « tutorial » dans une variable nommée « myVariable ».
Pour accéder à la variable, il suffit de l'encadrer par le symbole ${ … }. Par exemple, pour saisir la valeur de « myVariable » dans le champ de texte « userName » de Mercury Visites guidées, saisissez ${myVariable} dans le champ Valeur.
Commande Echo dans Selenium IDE
Une variable stockée est invisible jusqu'à ce que quelque chose l'affiche, et c'est ce que fait la echo Cette commande s'exécute. Elle écrit un message dans le panneau de journalisation de l'IDE pendant la lecture, ce qui en fait le moyen le plus rapide de confirmer qu'une commande de stockage a bien capturé ce que vous attendiez avant de construire des assertions par-dessus.
La commande accepte l'une ou l'autre forme :
- Une chaîne de caractères, au sens propre. Insérez le texte dans le Target champ, par exemple Étape de connexion terminée, pour marquer un point de contrôle dans un long script.
- Une variable. Insérez ${myVariable} dans le Target Le champ et sa valeur stockée sont imprimés à la place du nom.
Deux habitudes rendent la commande echo bien plus utile qu'il n'y paraît. Afficher une variable immédiatement après la commande de stockage qui la crée, afin qu'une erreur soit détectée. tracIl est préférable de se référer à la capture plutôt qu'à l'assertion vingt étapes plus tard. Préfixez chaque message avec l'étape à laquelle il se rapporte, car le panneau de journalisation affiche toutes les commandes dans une liste unique. Notez que la commande `echo` écrit uniquement dans le journal ; elle ne modifie jamais la page et ne provoque jamais d'échec de test. Il est donc possible de la laisser en permanence dans un script.
StoreElementPrésent
Cette commande stocke la valeur « true » ou « false » selon la présence de l'élément spécifié. Le script ci-dessous stocke la valeur booléenne « true » dans « var1 » et « false » dans « var2 ». Pour vérifier, nous utiliserons la commande echo afin d'afficher les valeurs de var1 et var2. URL pour l'illustration ci-dessous a été définie sur le Mercury Page d'accueil des visites.
StoreText
Cette commande permet de stocker le texte d'un élément dans une variable. L'illustration ci-dessous stocke le texte de la balise h1 de la page d'inscription Facebook dans une variable nommée « textVar ».
Puisqu'il s'agit du seul élément de ce type sur la page, nous pouvons utiliser sans risque « css=h1 » comme cible. L'image ci-dessous le montre. Selenium L'IDE a pu enregistrer la chaîne « Sign Up » dans la variable « textVar », car la fonction echo a correctement affiché sa valeur.
Alertes, fenêtres contextuelles et multiples Windows
Les alertes sont probablement la forme la plus simple de fenêtre contextuelle. Les plus courantes Selenium Les commandes IDE utilisées dans la gestion des alertes sont les suivantes :
| Alertes | Utilisations |
|---|---|
|
assertAlert assertNotAlert |
récupère le message de l'alerte et le compare à une valeur de chaîne que vous avez spécifiée. |
|
assertAlertPrésent assertAlertNotPresent |
indique si une alerte est présente ou non |
| alerte du magasin | récupère le message d'alerte et le stocke dans une variable que vous spécifiez. |
| storeAlertPrésent | Renvoie VRAI si une alerte est présente, FAUX sinon. |
|
vérifierAlerte verifyNotAlert |
récupère le message de l'alerte et vérifie s'il correspond à la valeur de chaîne que vous avez spécifiée. |
|
verifyAlertePrésent verifyAlertNotPresent |
vérifie si une alerte est présente ou non |
N'oubliez pas ces deux choses lorsque vous travaillez avec des alertes :
- Selenium L'IDE clique automatiquement sur le bouton OK de la fenêtre d'alerte, vous ne pourrez donc pas voir l'alerte elle-même.
- Selenium L'IDE ne prend pas en charge les alertes déclenchées dans la fonction onload() de la page. Il ne gère que les alertes générées après le chargement complet de la page.
Dans cet exemple, nous utilisons la commande storeAlert pour montrer que même si Selenium L'IDE n'affichait pas l'alerte elle-même, mais il était tout de même capable de récupérer le message.
Étape 1) In Selenium IDE, définissez la base URL vers http://jsbin.com. La version complète URL est http://jsbin.com/usidix. Ces extraits de code jsbin datent de Firefox- L'ère des plugins et peut ne plus être résolue ; toute page comportant un bouton qui déclenche une alerte reproduit le même résultat.
Étape 2) Créez le script comme indiqué ci-dessous. La commande click cible le bouton Go !, storeAlert capture le message dans alertMessage et echo l’affiche.
Étape 3) Exécutez le script, mais ne vous attendez pas à voir l'alerte. Le volet de journalisation ci-dessous affiche le message capturé, même si la boîte de dialogue n'a jamais été visible.
Confirmations
Les confirmations sont des fenêtres contextuelles proposant les boutons « OK » et « ANNULER », contrairement aux alertes qui ne proposent que le bouton « OK ». Les commandes utilisables pour les confirmations sont identiques à celles des alertes.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- magasinConfirmation
- storeConfirmationPrésent
- vérifierConfirmation / vérifierNonConfirmation
- vérifierConfirmationPrésente / vérifierConfirmationAbsente
De plus, ces commandes indiquent Selenium Quel bouton choisir, OK ou ANNULER ?
- choisirOKOnNextConfirmation / choisirOKOnNextConfirmationEtAttendre
- choisirAnnulerOnNextConfirmation
Placez ces commandes avant la commande qui déclenche la boîte de confirmation, de sorte que Selenium L'IDE sait à l'avance quelle option choisir. Vous ne verrez donc pas la boîte de confirmation pendant l'exécution du script.
Testons une page web avec un bouton programmé pour indiquer si l'utilisateur a cliqué sur OK ou ANNULER.
Étape 1) In Selenium IDE, définissez la base URL vers http://jsbin.com. La version complète URL est http://jsbin.com/enifaf.
Étape 2) Créez le script comme indiqué ci-dessous. Cette fois-ci, nous cliquerons d'abord sur le bouton OK.
Étape 3) Exécutez le script et vous constaterez que la confirmation ne s'affiche pas, mais que la page web indique toujours quel bouton a été actionné. Selenium IDE appuyé.
Étape 4) Remplacez la commande chooseOkOnNextConfirmation par chooseCancelOnNextConfirmation et exécutez à nouveau le script. La page affiche désormais le choix inverse.
Multiple Windows
Si vous cliquez sur un lien qui ouvre une nouvelle fenêtre, vous devez d'abord donner des instructions. Selenium Dans l'EDI, vous devez sélectionner la fenêtre avant de pouvoir accéder à ses éléments. Dans l'ancien EDI, vous utilisiez le titre de la fenêtre comme identifiant.
Nous utilisons la commande selectWindow pour basculer entre les fenêtres.
Nous utiliserons le lien http://jsbin.com/ocinaj/1, intitulé « Première fenêtre ». Le lien « ici » sur cette page ouvre Facebook dans une nouvelle fenêtre, après quoi nous donnerons les instructions. Selenium IDE pour effectuer les opérations suivantes :
- Transférez le contrôle de la fenêtre parente vers la nouvelle fenêtre Facebook en utilisant la commande selectWindow avec le titre de la fenêtre comme localisateur.
- Vérifiez le titre de la nouvelle fenêtre.
- Sélectionnez à nouveau la fenêtre d'origine à l'aide de la commande selectWindow avec « null » comme cible.
- Vérifiez le titre de la fenêtre actuellement sélectionnée.
Le plan ci-dessus se traduit par la séquence en quatre étapes illustrée ici.
Étape 1) Définir la base URL vers http://jsbin.com.
Étape 2) Créez le script comme indiqué ci-dessous.
Nous avons besoin de la commande pause pour attendre que la fenêtre nouvellement ouverte se charge avant de pouvoir lire son titre.
Étape 3) Exécutez le script. Notez que le cas de test Test réussi, ce qui signifie que nous avons pu basculer entre les fenêtres et vérifier leurs titres avec succès.
N'oubliez jamais que définir la cible selectWindow sur « null » sélectionne automatiquement la fenêtre parente — dans ce cas, la fenêtre où se trouve l'élément « link=here ».
À noter: Facebook a modifié le titre de sa page depuis la création de ce tutoriel. Modifiez le titre attendu dans le script en conséquence.
Moderne Selenium Équivalents de ces commandes dans un IDE
Le Firefox-plugin IDE a été retiré lorsque Firefox passé à l'architecture WebExtensions, et à la version actuelle de Chrome, Firefox L'extension Edge a renommé la plupart des commandes Selenese en utilisant des espaces. Le comportement reste inchangé ; le tableau ci-dessous suffit donc pour interpréter les scripts ci-dessus avec une installation actuelle.
| Commande héritée dans ce tutoriel | Courant Selenium Commande IDE |
|---|---|
| de stocker | de stocker |
| echo | echo |
| stockerTexte | stocker du texte |
| storeElementPresent | stocker l'élément présent (ou affirmer que l'élément est présent) |
| assertAlert / verifyAlert | alerte de vérification / alerte de vérification |
| choisirOKOnSuivantConfirmation | Choisissez OK lors de la prochaine confirmation. |
| choisirAnnulerOnNextConfirmation | Choisissez Annuler lors de la prochaine confirmation |
| sélectionnerFenêtre (titre comme cible) | sélectionner la fenêtre avec le handle=${handle} |
Deux différences méritent d'être soulignées. Les invites, qui ne sont pas abordées dans l'ancien article, disposent désormais de leurs propres commandes : Répondre à la prochaine invite planifie la réponse avant même que le dialogue n'apparaisse, et Réponse du pilote Web sur une invite visible Saisie dans une invite de commandes déjà ouverte. Le changement de fenêtre ne dépend plus du titre de la page. Exécuter poignée de fenêtre de magasin pour d'abord capturer un descripteur, puis passer handle=${yourHandle} pour sélectionner la fenêtre. Cette modification supprime le mode de défaillance décrit dans la note ci-dessus, où un site renomme simplement sa page et le script cesse de trouver la fenêtre. La version officielle Selenium Site du projet IDE liste l'ensemble complet des commandes actuelles.













