Stocker les variables, l'écho, l'alerte, la gestion des popups dans Selenium IDE

Dans ce didacticiel, nous apprendrons les commandes Store, les commandes Echo, les alertes et la gestion des popups.

Selenium Variables de l'EDI

Store

Pour stocker des variables dans Selenium IDE, nous utilisons la commande « store ». L'illustration ci-dessous stocke la valeur « tutoriel » dans une variable nommée « myVariable ».

Selenium Variables de l'EDI

Pour accéder à la variable, il suffit de l'entourer d'un symbole ${ … }. Par exemple, pour saisir la valeur de « myVariable » dans la zone de texte « userName » de Mercury Visites guidées, saisissez ${myVariable} dans le champ Valeur.

Selenium Variables de l'EDI

StoreElementPrésent

Cette commande stocke « vrai » ou « faux » en fonction de la présence de l'élément spécifié. Le script ci-dessous stocke la valeur booléenne « true » sur « var1 » et « false » sur « var2 ». Pour vérifier, nous utiliserons la commande « echo » pour afficher les valeurs de var1 et var2. L'URL de base de l'illustration ci-dessous a été définie sur Mercury Page d'accueil des visites.

StoreElementPrésent

StoreText

Cette commande est utilisée pour stocker le texte interne d'un élément sur une variable. L'illustration ci-dessous stocke le texte interne de la balise dans Facebook dans une variable nommée « textVar ».

StoreText

Puisqu'il s'agit du seul élément de la page, il est prudent d'utiliser 'css=h1' comme cible. L'image ci-dessous montre que Selenium L'IDE a pu enregistrer la chaîne « Sign Up » dans la variable « textVar » en imprimant correctement sa valeur.

StoreText

Alertes, fenêtres contextuelles et multiples Windows

Les alertes sont probablement la forme la plus simple de fenêtres contextuelles. La plus courante 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 l'affirme à une valeur de chaîne que vous avez spécifiée

assertAlertPrésent

assertAlertNotPresent

affirme 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 préciserez
storeAlertPrésent renvoie TRUE si une alerte est présente ; FAUX sinon

vérifierAlerte

verifyNotAlert

récupère le message de l'alerte et vérifie s'il est égal à 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 cliquera automatiquement sur le bouton OK de la fenêtre d'alerte et vous ne pourrez donc pas voir l'alerte réelle.
  • Selenium L'IDE ne sera pas en mesure de gérer les alertes contenues dans la fonction onload() de la page. Il ne pourra gérer les alertes générées qu’une fois la page complètement chargée.

Dans cet exemple, nous utiliserons la commande storeAlert pour montrer que même si Selenium L'IDE n'a pas affiché l'alerte réelle, il a quand même pu récupérer son message.

Étape 1) In Selenium IDE, définissez l'URL de base sur http://jsbin.com. & l'URL complète est : http://jsbin.com/usidix

Étape 2) Créez le script comme indiqué ci-dessous.

Alertes, fenêtres contextuelles et multiples Windows

Étape 3) Exécutez le script et ne vous attendez pas à pouvoir voir l'alerte réelle.

Alertes, fenêtres contextuelles et multiples Windows

Confirmations

Les confirmations sont des fenêtres contextuelles qui vous donnent un bouton OK et ANNULER, par opposition aux alertes qui vous donnent uniquement le bouton OK. Les commandes que vous pouvez utiliser pour gérer les confirmations sont similaires à celles pour gérer les alertes.

  • assertConfirmation/assertNotConfirmation
  • assertConfirmationPrésent/assertConfirmationNotPresent
  • magasinConfirmation
  • storeConfirmationPrésent
  • verifyConfirmation/verifyNotConfirmation
  • verifyConfirmationPresent/verifyConfirmationNotPresent

Cependant, ce sont les commandes supplémentaires que vous devez utiliser pour indiquer Selenium quelle option choisir, que ce soit le bouton OK ou le bouton ANNULER.

  • ChooseOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
  • choisirAnnulerOnNextConfirmation

Vous devez utiliser ces commandes avant une commande qui déclenche la boîte de confirmation afin que Selenium L'IDE saura à l'avance quelle option choisir. Là encore, vous ne pourrez pas voir la boîte de confirmation réelle pendant l'exécution du script.

Testons une page Web comportant un bouton codé pour indiquer si l'utilisateur a appuyé sur le bouton OK ou ANNULER.

Étape 1) In Selenium IDE, définissez l'URL de base sur http://jsbin.com

& l'URL complète est : http://jsbin.com/enifaf

Étape 2) Créez le script comme indiqué ci-dessous. Cette fois, nous allons d'abord appuyer sur le bouton OK.

Confirmations

Étape 3) Exécutez le script et remarquez que vous ne voyez pas la confirmation réelle, mais que la page Web a pu indiquer quel bouton Selenium IDE avait insisté.

Confirmations

Étape 4) Remplacez la commande « chooseOkOnNextConfirmation » par « chooseCancelOnNextConfirmation » et exécutez à nouveau le script.

Confirmations

Multiple Windows

Si vous cliquez sur un lien qui ouvre une fenêtre séparée, vous devez d'abord demander Selenium IDE pour sélectionner d'abord cette fenêtre avant de pouvoir accéder aux éléments qu'elle contient. Pour ce faire, vous utiliserez le titre de la fenêtre comme localisateur.

Nous utilisons la commande selectWindow pour basculer entre les fenêtres.

Nous utiliserons un lien http://jsbin.com/ocinaj/1 dont le titre est « Première fenêtre ». Le lien hypertexte « ici » trouvé sur cette page ouvrira Facebook dans une nouvelle fenêtre, après quoi nous donnerons des instructions Selenium IDE pour effectuer les opérations suivantes :

  • Transférez le contrôle de la fenêtre parent vers la fenêtre Facebook nouvellement lancée en utilisant la commande « selectWindow » et son titre 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 » et « null » comme cible.
  • Vérifiez le titre de la fenêtre actuellement sélectionnée

Multiple Windows

Étape 1) Définissez l'URL de base sur http://jsbin.com.

Étape 2) Créez le script comme indiqué ci-dessous.

Multiple Windows

Nous avons besoin de la commande « pause » pour attendre que la fenêtre nouvellement lancée se charge avant de pouvoir accéder à son titre.

Étape 3) Exécutez le script. Notez que le Cas de test réussi, ce qui signifie que nous avons pu basculer entre les fenêtres et vérifier leurs titres avec succès.

Multiple Windows

N'oubliez jamais que définir la cible de selectWindow sur "null" sélectionnera automatiquement la fenêtre parent (dans ce cas, la fenêtre où se trouve l'élément "link=here")

Remarque : Facebook a changé le titre depuis la création des Tutoriels. Veuillez modifier le code en conséquence

Résumé

  • La commande « store » (et toutes ses variantes) permet de stocker des variables dans Selenium IDE
  • La commande « echo » est utilisée pour imprimer une valeur de chaîne ou une variable
  • Les variables sont entourées d'un ${…} lorsqu'elles sont imprimées ou utilisées sur des éléments
  • Selenium L'IDE appuie automatiquement sur le bouton OK lors du traitement des alertes
  • Lors de la gestion des boîtes de dialogue de confirmation, vous pouvez demander Selenium IDE quelle option utiliser :
    • ChooseOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
    • choisirAnnulerOnNextConfirmation
  • Les titres des fenêtres sont utilisés comme localisateurs lors du basculement entre les fenêtres du navigateur.
  • Lors de l'utilisation de la commande « selectWindow », définir le Target à « null » dirigera automatiquement Selenium IDE pour sélectionner la fenêtre parent.