Nous utiliserons le site Web de Mercury Tours comme notre application Web en cours de test. Il s'agit d'un système de réservation de vol en ligne qui contient tous les éléments dont nous avons besoin pour ce tutoriel. Son URL est http://demo.guru99.com/test/newtours/, et ce sera notre URL de base.
Créer un script en enregistrant
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.
Étape 1
- Lancez Firefox et Selenium IDE.
- Saisissez la valeur de notre URL de base: http://demo.guru99.com/test/newtours/.
- Activez le bouton Enregistrer (s'il n'est pas encore activé par défaut).
Étape 2
Dans Firefox, accédez à http://demo.guru99.com/test/newtours/. Firefox devrait vous amener à la page similaire à celle illustrée ci-dessous. |
|
Étape 3
|
|
Étape 4
|
|
Étape 5
|
|
Étape 6
Désactivez le bouton d'enregistrement pour arrêter l'enregistrement. Votre script devrait maintenant ressembler à celui illustré ci-dessous. |
|
Étape 7
Maintenant que nous en avons terminé avec notre script de test, nous allons le sauvegarder dans un cas de test. Dans le menu Fichier, sélectionnez "Enregistrer le scénario de test". Alternativement, vous pouvez simplement appuyer sur Ctrl + S. |
|
Étape 8
|
|
Étape 9.
Notez que le fichier a été enregistré au format HTML. |
Étape 10.
Revenez à Selenium IDE et cliquez sur le bouton Lecture pour exécuter tout le script. Selenium IDE devrait être capable de tout reproduire parfaitement.
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 en permanence. Cela dépend du nombre requis par la commande.
3 types de commandes
Actions |
Ce sont des commandes qui interagissent directement avec les éléments de la page. Exemple: la commande "clic" est une action car vous interagissez directement avec l'élément sur lequel vous cliquez. La commande "type" est également une action car vous mettez des valeurs dans une zone de texte et la zone de texte vous les montre en retour. Il existe une interaction bidirectionnelle entre vous et la zone de texte. |
Accesseurs |
Ce sont des commandes qui vous permettent de stocker des valeurs dans une variable. Exemple: la commande "storeTitle" est un accesseur car elle ne "lit" que le titre de la page et l'enregistre dans une variable. Il n'interagit avec aucun élément de la page. |
Assertions |
Ce sont des commandes qui vérifient si une certaine condition est remplie. 3 types d'assertions
|
Assert vs Verify
Commandes communes
Commander | Nombre de paramètres | Description |
---|---|---|
ouvert | 0 - 2 |
Ouvre une page à l'aide d'une URL. |
click / clickAndWait | 1 |
Clique sur un élément spécifié. |
type / typeKeys | 2 |
Tapez une séquence de caractères. |
verifyTitle / assertTitle | 1 |
Compare le titre de la page réel avec une valeur attendue. |
verifyTextPresent | 1 |
Vérifie si un certain texte se trouve dans la page. |
verifyElementPresent | 1 |
Vérifie la présence d'un certain élément. |
verifyTable | 2 |
Compare le contenu d'une table avec les valeurs attendues. |
waitForPageToLoad | 1 |
Suspend l'exécution jusqu'à ce que la page soit complètement chargée. |
waitForElementPresent | 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 cas de test manuellement, en tapant les commandes. Cette fois, nous devrons utiliser Firebug.
Étape 1
|
Étape 2: Cliquez sur la ligne vierge la plus haute dans l'éditeur. |
Tapez "open" dans la zone de texte Commande et appuyez sur Entrée. |
Étape 3
|
Étape 4
|
Étape 5
|
Cliquez sur la zone de texte Nom d'utilisateur. Notez que Firebug vous montre automatiquement le code HTML de cet élément. |
Étape 6
Notez que la zone de texte Nom d'utilisateur n'a pas d'ID, mais qu'elle a un attribut NAME. Nous utiliserons donc son NOM comme localisateur. Copiez la valeur NAME et collez-la dans le champ Cible dans Selenium IDE. Toujours dans la zone de texte Cible, préfixez "userName" avec "name =", indiquant que Selenium IDE doit cibler un élément dont l'attribut NAME est "userName". Tapez "invalidUN" dans la zone de texte Valeur de Selenium 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 toute autre chaîne de texte. Mais Selenium IDE est sensible à la casse et vous saisissez des valeurs / attributs exactement comme dans l'application. |
Étape 7
|
Étape 8
|
É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 la zone de texte Cible est bien l'élément d'interface utilisateur correct.
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 cible, par exemple, la troisième commande.
Cliquez sur le bouton Rechercher. Notez que la zone de texte Nom d'utilisateur de la page Mercury Tours est mise en surbrillance pendant une seconde.
Cela indique que Selenium IDE a pu détecter et accéder correctement à l'élément attendu. Si le bouton Rechercher a mis en surbrillance un élément différent ou aucun élément du tout, il doit y avoir un problème avec votre script.
Exécuter la commande
Cela vous permet d'exécuter une seule commande sans exécuter l'ensemble du scénario de test . Cliquez simplement sur la ligne que vous souhaitez exécuter puis cliquez sur "Actions> Exécuter cette commande" dans la barre de menu ou appuyez simplement sur "X" de votre clavier.
Étape 1. Assurez-vous que votre navigateur est sur la page d'accueil de Mercury Tours. Cliquez sur la commande que vous souhaitez exécuter. Dans cet exemple, cliquez sur la ligne "type | userName | invalidUN".
Étape 2. Appuyez sur "X" sur votre clavier.
Étape 3. Observez que la zone de texte pour le nom d'utilisateur est remplie avec le texte "invalidUN"
L'exécution des commandes de cette manière dépend fortement de la page actuellement affichée par Firefox . Cela signifie que si vous essayez l'exemple ci-dessus avec la page d'accueil Google affichée à la place de Mercury Tours ', votre étape échouera car il n'y a pas de zone de texte 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 les lignes que l'exécution commencera . Sa touche de raccourci est "S".
Dans l'exemple ci-dessus, la lecture commencera sur la troisième ligne (tapez | mot de passe | 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 à Exécuter la commande dans la mesure où ils dépendent 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ù mettre automatiquement le test en pause. La touche de raccourci est "B".
La surbrillance jaune signifie que l'étape actuelle est en attente. Cela prouve que Selenium IDE a suspendu l'exécution de cette étape. Vous pouvez avoir plusieurs points d'arrêt dans un cas de test.
Étape
Il vous permet d'exécuter les commandes successives une par une après la mise en pause du scénario de test. Utilisons le scénario de la section précédente "Breakpoints".
Avant de cliquer sur "Étape". Le cas de test s'arrête à la ligne "clickAndWait | login". |
|
Après avoir cliqué sur "Étape". La ligne "clickAndWait | login" est exécutée et s'arrête à la commande suivante (verifyTitle | Sign-on: Mercury Tours). Notez que la ligne suivante est suspendue même s'il n'y a pas de point d'arrêt. C'est l'objectif principal de la fonction 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
Selenium IDE ne fonctionne bien qu'avec HTML - les autres formats sont encore en mode expérimental . Il n'est PAS conseillé de créer ou de modifier des tests en utilisant d'autres formats dans la vue source car il reste encore beaucoup de travail à faire pour le rendre stable. Vous trouverez ci-dessous les bogues connus à partir de la version 1.9.1.
- Vous ne serez pas en mesure d'effectuer la lecture ni de revenir à la vue tableau à moins que vous ne reveniez 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 manuellement le code source, tout est perdu lorsque vous passez à 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 est d'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 en enregistrant ou en tapant les commandes et les paramètres manuellement.
- 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 tableau 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 à titre expérimental.
- 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 en permanence. 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 - compare une valeur réelle à une valeur attendue
- Les assertions ont trois types:
- Assert - en cas d'échec, les étapes suivantes ne sont plus exécutées
- Vérifier - en cas d'échec, les étapes suivantes sont toujours exécutées.
- WaitFor - passe si la condition spécifiée devient vraie dans le délai d'expiration; sinon, ça échouera
- Les commandes les plus courantes sont:
- ouvert
- click / clickAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent