Test de la page de connexion à l'aide de Robot Framework

Avec Robot Framework, nous avons appris ce qui suit jusqu'à présent -

  • Importer des bibliothèques
  • Travailler avec des variables
  • Créer des mots clés personnalisés
  • Comment écrire des cas de test
  • Comment créer une configuration et un démontage
  • Comment exécuter des cas de test
  • Comment travailler avec des cas de test basés sur les données

Nous utiliserons toutes les fonctionnalités ci-dessus et les utiliserons pour tester la page de connexion dans ce chapitre. Nous avons une page de connexion qui contient l'identifiant et le mot de passe de l'e-mail. Lorsque vous entrez un identifiant et un mot de passe de messagerie corrects, vous serez redirigé vers une page d'accueil. Si l'utilisateur entre un identifiant de messagerie ou un mot de passe invalide, la page sera redirigée vers la page d'erreur.

La capture d'écran suivante montre une page de connexion -

Code HTML

<html>
   <head>
      <title>Login Page</title>
   </head>
   <body>
      <script type="text/javascript">
         function wsSubmit() {
            if (document.getElementById("email").value == "[email protected]" && document.getElementById("passwd").value == "admin") {
               location.href = "http://localhost/robotframework/success.html";
            } else {
               location.href = "http://localhost/robotframework/loginfailed.html";
            }
         }
      </script>
      <div id="formdet">
         Email : <input type="text" id="email" value="" id="email" /><br/><br/>
         Password : <input type="password" id="passwd" value="" /><br/><br/>
         <input type="submit" id="btnsubmit" value="Submit" onClick="wsSubmit();"/>
      </div>
   </body>
</html>

L'écran suivant apparaît lorsque l'adresse e-mail ou le mot de passe n'est pas valide -

Code HTML

<html>
   <head> 
      <title>Login Failed</title>
   </head>
   <body>
      <div id="loginfailed">
         <h1>Login Failed</h1>
      </div>
   </body>
</html>

L'écran suivant apparaît lorsque l'ID de messagerie et le mot de passe sont valides -

Code HTML

<html>
   <head>
      <title>Login Successful</title>
   </head>
   <body>
      <div id="loginfailed">
         <h1>Login Successful</h1>
      </div>
   </body>
</html>

Nous allons maintenant écrire des cas de test pour la page de test ci-dessus. Pour commencer, nous allons d'abord exécuter la commande pour ouvrir Ride.

Commander

ride.py

Une fois terminé, nous commencerons la configuration du projet comme indiqué ci-dessous -

Cliquez sur Nouveau projet et entrez le nom du projet.

Nous enregistrerons le type du projet en tant que répertoire. Le nom donné au projet est testlogin.

Cliquez sur OK pour enregistrer le projet.

Maintenant, nous allons créer une suite de tests dans le projet.

Cliquez sur Nouvelle Suite et il affichera un écran comme indiqué ci-dessous -

Cliquez sur OK pour enregistrer la suite de tests. Nous devons importer la bibliothèque Selenium car nous travaillerons avec le navigateur.

Importer la bibliothèque dans le projet principal et également dans la suite de tests créée.

Cliquez sur Bibliothèque comme dans la capture d'écran ci-dessus. En cliquant sur Bibliothèque, l'écran suivant apparaît.

Cliquez sur OK pour enregistrer la bibliothèque du projet.

Une fois la bibliothèque enregistrée pour le projet, elle affichera la bibliothèque dans les paramètres -

Répétez la même étape pour la suite de tests créée.

Voici la bibliothèque ajoutée pour la suite de tests -

Maintenant, dans le projet principal, nous allons créer une configuration et un démontage. Nous aimerions ouvrir la page de connexion dans le navigateur Chrome et agrandir la fenêtre. Dans le démontage, nous fermerons le navigateur.

Pour la configuration, nous allons créer un mot-clé défini par l'utilisateur appelé Open Login Page. Ce mot-clé prendra 2 arguments, l'URL de la page de connexion et le nom du navigateur.

Maintenant, nous avons besoin de 2 variables scalaires qui nous aideront à stocker les valeurs - url et le nom du navigateur.

En ride, créez 2 variables ${loginpage} et ${browser} comme suit -

${loginpage}

${browser}

Enregistrez les deux variables.

Les variables seront affichées sous votre projet comme suit -

Maintenant, nous allons ajouter la configuration et le démontage pour le projet principal.

Cliquez sur le projet sur le côté gauche. Dans les paramètres, cliquez sur Suite Setup.

Nous avons créé une configuration utilisant le mot-clé utilisateur Open Login Page avec des arguments ${loginpage} et ${browser}.

Cliquez sur OK pour enregistrer la configuration.

Maintenant, nous devons créer le mot-clé défini par l'utilisateur Open Login Page, qui se fait comme suit -

Faites un clic droit sur le projet et cliquez sur New User Keyword -

En cliquant New User Keyword, l'écran suivant apparaît -

Ici, le mot-clé reçoit 2 arguments - ${loginpage} et ${browser}. Cliquez sur OK pour enregistrer le mot-clé utilisateur.

Nous devons maintenant entrer les mots-clés de la bibliothèque, ce qui ouvrira l'URL.

Open Login Page Le mot-clé défini par l'utilisateur a les détails suivants -

*** Keywords ***
Open Login Page
   [Arguments] ${loginpage} ${browser}
   Open Browser ${loginpage} ${browser}
   Maximize Browser Window
   Title Should Be Login Page

Maintenant, nous allons créer Suite Teardown pour la suite.

Cliquez sur Modifier pour Suite Teardown et entrez les détails -

Pour le démontage de la suite, nous utilisons directement le mot-clé de la bibliothèque, ce qui fermera le navigateur. Cliquez sur OK pour enregistrer le démontage de la suite.

Maintenant, cliquez sur la suite Testlogin que nous avons créée.

Créons maintenant une configuration pour la suite de tests - Configuration des tests. Cette configuration doit être exécutée en premier.

Cliquez sur Modifier pour la configuration du test et entrez les détails.

Pour la configuration du test, nous avons créé un mot-clé défini par l'utilisateur appelé Login Page Display, qui prendra l'argument comme ${loginpage} comme dans la capture d'écran ci-dessus.

Cliquez sur OK pour enregistrer la configuration du test.

Maintenant, nous devons créer le mot-clé utilisateur Login Page Display.

Faites un clic droit sur la suite de tests et cliquez sur New User Keyword comme indiqué ci-dessous -

Nouveau mot-clé utilisateur affichera l'écran comme indiqué ci-dessous -

Cliquez sur OK pour enregistrer le mot-clé.

Entrons maintenant le mot-clé dont nous avons besoin pour le mot-clé utilisateur Login Page Display.

Ici, nous voulons aller à la loginpage et vérifiez si le titre de la page correspond à la valeur donnée.

Maintenant, nous allons ajouter un modèle à la suite de tests et créer des cas de test basés sur les données.

Pour créer un modèle, cliquez sur la suite et sur le côté droit, cliquez sur Modifier pour le modèle de test.

Vous serez dirigé vers l'écran suivant -

Test Login est à nouveau un mot-clé défini par l'utilisateur. Cliquez sur OK pour enregistrer le modèle.

Avant de créer le mot-clé Test Login, nous avons besoin de certaines variables scalaires. Les variables scalaires auront les détails de l'adresse e-mail, du mot de passe, de la page de réussite, de la page d'échec, etc.

Nous allons créer des variables scalaires pour la suite de tests comme suit -

Nous avons créé des variables scalaires de courrier électronique, de mot de passe, de page de réussite et de page d'échec, comme indiqué dans la capture d'écran ci-dessus.

Maintenant, nous allons créer Test LoginMot-clé défini par l'utilisateur. Cliquez avec le bouton droit sur la suite de tests et cliquez sur Nouveau mot-clé utilisateur.

Cliquez sur OK pour enregistrer le mot-clé.

La capture d'écran suivante montre les mots-clés saisis pour la connexion de test -

Enter Email, Enter Password, Submit Details et Login Should Fail sont des mots clés définis par l'utilisateur, qui sont définis comme suit -

Entrez votre e-mail

Entrer le mot de passe

Soumettre les détails

La connexion devrait échouer

Maintenant, nous allons écrire des cas de test, qui prendront différents identifiants d'e-mail et mot de passe pour le modèle créé.

Voici une liste de cas de test -

Cas de test d'ID d'e-mail non valide

L'e-mail est passé avec les valeurs [email protected] et $ {password} est le mot de passe stocké dans la variable.

Mot de passe incorrect

Identifiant e-mail et mot de passe non valides

Identifiant de courriel vide

Mot de passe vide

Email et mot de passe vides

Maintenant, nous en avons terminé avec les cas de test et pouvons exécuter la même chose.

Accédez à l'onglet Exécuter et cliquez sur Démarrer pour exécuter les scénarios de test.

Voici les messages du journal pour les cas de test -

20181027 18:11:40.353 : INFO : Opening browser 'chrome' to base url '
http://localhost/robotframework/login.html'.
20181027 18:11:45.960 : INFO : Page title is 'Login Page'.
Starting test: Testlogin.Testlogin Suite.Invalid EmailId
20181027 18:11:45.991 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:46.169 : INFO : Page title is 'Login Page'.
20181027 18:11:46.180 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:46.706 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:47.075 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:47.565 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:47.584 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId

Starting test: Testlogin.Testlogin Suite.Invalid Password
20181027 18:11:47.600 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:47.767 : INFO : Page title is 'Login Page'.
20181027 18:11:47.783 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:48.342 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:48.701 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:49.035 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:49.051 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid Password

Starting test: Testlogin.Testlogin Suite.Invalid EmailId And Password
20181027 18:11:49.054 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:49.213 : INFO : Page title is 'Login Page'.
20181027 18:11:49.221 : INFO : Typing text 'invalid' into text field 'email'.
20181027 18:11:49.555 : INFO : Typing text 'invalid' into text field 'passwd'.
20181027 18:11:49.883 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.162 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:50.176 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Invalid EmailId And Password

Starting test: Testlogin.Testlogin Suite.Empty Emailid
20181027 18:11:50.188 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:50.302 : INFO : Page title is 'Login Page'.
20181027 18:11:50.306 : INFO : Typing text '' into text field 'email'.
20181027 18:11:50.486 : INFO : Typing text 'admin' into text field 'passwd'.
20181027 18:11:50.693 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:50.935 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:50.958 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Emailid

Starting test: Testlogin.Testlogin Suite.Empty Password
20181027 18:11:50.958 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:51.063 : INFO : Page title is 'Login Page'.
20181027 18:11:51.071 : INFO : Typing text '[email protected]' into text field 'email'.
20181027 18:11:51.367 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:51.561 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:51.796 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:51.808 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Password

Starting test: Testlogin.Testlogin Suite.Empty Email And Password
20181027 18:11:51.811 : INFO : Opening url 'http://localhost/robotframework/login.html'
20181027 18:11:51.908 : INFO : Page title is 'Login Page'.
20181027 18:11:51.916 : INFO : Typing text '' into text field 'email'.
20181027 18:11:52.049 : INFO : Typing text '' into text field 'passwd'.
20181027 18:11:52.193 : INFO : Clicking button 'btnsubmit'.
20181027 18:11:52.419 : INFO : Current location is 'http://localhost/robotframework/loginfailed.html'.
20181027 18:11:52.432 : INFO : Page title is 'Login Failed'.
Ending test: Testlogin.Testlogin Suite.Empty Email And Password

Conclusion

Nous avons vu ici comment tester une page de connexion avec différentes entrées, qui valideront si la connexion fonctionne correctement ou non. Les détails sur la façon dont l'exécution se déroule sont donnés dans la section journal.