Anmeldeseite mit Robot Framework testen

Mit Robot Framework haben wir bisher Folgendes gelernt:

  • Bibliotheken importieren
  • Arbeiten mit Variablen
  • Erstellen Sie benutzerdefinierte Schlüsselwörter
  • Wie schreibe ich Testfälle?
  • So erstellen Sie Setup und Teardown
  • So führen Sie Testfälle aus
  • So arbeiten Sie mit datengesteuerten Testfällen

Wir werden alle oben genannten Funktionen verwenden und damit die Anmeldeseite in diesem Kapitel testen. Wir haben eine Anmeldeseite, die E-Mail-ID und Passwort enthält. Wenn Sie die richtige E-Mail-ID und das richtige Passwort eingeben, werden Sie auf eine Begrüßungsseite weitergeleitet. Wenn der Benutzer eine ungültige E-Mail-ID oder ein ungültiges Kennwort eingibt, wird die Seite zur Fehlerseite umgeleitet.

Der folgende Screenshot zeigt eine Anmeldeseite -

HTML Quelltext

<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>

Der folgende Bildschirm wird angezeigt, wenn entweder die E-Mail-ID oder das Passwort ungültig sind -

HTML Quelltext

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

Der folgende Bildschirm wird angezeigt, wenn sowohl die E-Mail-ID als auch das Kennwort gültig sind:

HTML Quelltext

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

Jetzt werden wir Testfälle für die obige Testseite schreiben. Zunächst führen wir den Befehl zum Öffnen von Ride aus.

Befehl

ride.py

Sobald dies erledigt ist, beginnen wir mit dem Projekt-Setup wie unten gezeigt -

Klicken Sie auf Neues Projekt und geben Sie den Namen des Projekts ein.

Wir werden den Projekttyp als Verzeichnis speichern. Der Name des Projekts lautet testlogin.

Klicken Sie auf OK, um das Projekt zu speichern.

Jetzt erstellen wir eine Testsuite innerhalb des Projekts.

Klicken Sie auf Neue Suite und es wird ein Bildschirm wie unten gezeigt angezeigt -

Klicken Sie auf OK, um die Testsuite zu speichern. Wir müssen die Selenium Library importieren, da wir mit dem Browser arbeiten werden.

Importieren Sie die Bibliothek im Hauptprojekt und auch in die erstellte Testsuite.

Klicken Sie wie im obigen Screenshot auf Bibliothek. Wenn Sie auf Bibliothek klicken, wird der folgende Bildschirm angezeigt.

Klicken Sie auf OK, um die Bibliothek für das Projekt zu speichern.

Sobald die Bibliothek für das Projekt gespeichert wurde, wird die Bibliothek in den Einstellungen angezeigt -

Wiederholen Sie denselben Schritt für die erstellte Testsuite.

Hier ist die Bibliothek für Test Suite hinzugefügt -

Jetzt werden wir im Hauptprojekt ein Setup und einen Teardown erstellen. Wir möchten die Anmeldeseite im Chrome-Browser öffnen und das Fenster maximieren. Beim Herunterfahren schließen wir den Browser.

Für die Einrichtung erstellen wir ein benutzerdefiniertes Schlüsselwort mit dem Namen Open Login Page. Dieses Schlüsselwort akzeptiert 2 Argumente, die Anmeldeseiten-URL und den Browsernamen.

Jetzt benötigen wir zwei skalare Variablen, mit denen wir die Werte speichern können - URL und Browsername.

Erstellen Sie im Ride 2 Variablen ${loginpage} und ${browser} wie folgt -

${loginpage}

${browser}

Speichern Sie beide Variablen.

Die Variablen werden unter Ihrem Projekt wie folgt angezeigt:

Jetzt werden wir das Setup und den Teardown für das Hauptprojekt hinzufügen.

Klicken Sie auf das Projekt auf der linken Seite. Klicken Sie in den Einstellungen auf Suite Setup.

Wir haben ein Setup erstellt, das das Benutzerschlüsselwort verwendet Open Login Page mit Argumenten ${loginpage} und ${browser}.

Klicken Sie auf OK, um das Setup zu speichern.

Jetzt müssen wir das benutzerdefinierte Schlüsselwort erstellen Open Login Page, was wie folgt gemacht wird -

Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf New User Keyword - -

Beim Klicken New User Keyworderscheint der folgende Bildschirm -

Hier erhält das Schlüsselwort 2 Argumente - ${loginpage} und ${browser}. Klicken Sie auf OK, um das Benutzerschlüsselwort zu speichern.

Jetzt müssen wir die Bibliotheksschlüsselwörter eingeben, die die URL öffnen.

Open Login Page Das benutzerdefinierte Schlüsselwort enthält die folgenden Details:

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

Jetzt werden wir schaffen Suite Teardown für die Suite.

Klicken Sie auf Bearbeiten für Suite Teardown und geben Sie die Details ein -

Für das Herunterfahren der Suite verwenden wir direkt das Schlüsselwort library, mit dem der Browser geschlossen wird. Klicken Sie auf OK, um den Suite-Teardown zu speichern.

Klicken Sie nun auf die von uns erstellte Testlogin Suite.

Lassen Sie uns nun ein Setup für die Testsuite erstellen - Test Setup. Dieses Setup muss zuerst ausgeführt werden.

Klicken Sie auf Für Test-Setup bearbeiten und geben Sie die Details ein.

Für das Test-Setup haben wir ein benutzerdefiniertes Schlüsselwort namens erstellt Login Page Display, die das Argument als nehmen wird ${loginpage} wie im obigen Screenshot.

Klicken Sie auf OK, um das Test-Setup zu speichern.

Jetzt müssen wir das Benutzerschlüsselwort erstellen Login Page Display.

Klicken Sie mit der rechten Maustaste auf die Testsuite und klicken Sie auf New User Keyword wie unten gezeigt -

Das neue Benutzerschlüsselwort zeigt den Bildschirm wie unten gezeigt an -

Klicken Sie auf OK, um das Schlüsselwort zu speichern.

Geben Sie nun das Schlüsselwort ein, das wir für das Benutzerschlüsselwort benötigen Login Page Display.

Hier wollen wir zum gehen loginpage und prüfen Sie, ob der Titel der Seite mit dem angegebenen Wert übereinstimmt.

Jetzt werden wir der Testsuite eine Vorlage hinzufügen und datengesteuerte Testfälle erstellen.

Um eine Vorlage zu erstellen, klicken Sie auf die Suite und rechts auf Für Testvorlage bearbeiten.

Sie werden zum folgenden Bildschirm weitergeleitet -

Test Login ist wieder ein benutzerdefiniertes Schlüsselwort. Klicken Sie auf OK, um die Vorlage zu speichern.

Bevor wir das Schlüsselwort Test Login erstellen, benötigen wir einige skalare Variablen. Die skalaren Variablen enthalten die Details der E-Mail-ID, des Kennworts, der Erfolgsseite, der Fehlerseite usw.

Wir werden skalare Variablen für die Testsuite wie folgt erstellen:

Wir haben skalare Variablen für E-Mail, Passwort, Erfolgsseite und Fehlerseite erstellt, wie im obigen Screenshot gezeigt.

Jetzt werden wir schaffen Test LoginBenutzerdefiniertes Schlüsselwort. Klicken Sie mit der rechten Maustaste auf die Testsuite und klicken Sie auf Neues Benutzerschlüsselwort.

Klicken Sie auf OK, um das Schlüsselwort zu speichern.

Der folgende Screenshot zeigt die für die Testanmeldung eingegebenen Schlüsselwörter -

Enter Email, Enter Password, Submit Details und Login Should Fail sind benutzerdefinierte Schlüsselwörter, die wie folgt definiert sind:

Email eingeben

Passwort eingeben

Details einreichen

Die Anmeldung sollte fehlschlagen

Jetzt werden wir Testfälle schreiben, die unterschiedliche E-Mail-ID- und Kennwortdetails zu der erstellten Vorlage übernehmen.

Das Folgende ist eine Liste von Testfällen -

Ungültige E-Mail-ID Testfall

Die E-Mail wird mit den Werten [email protected] übergeben und $ {password} ist das in der Variablen gespeicherte Passwort.

Ungültiges Passwort

Ungültige E-Mail-ID und ungültiges Passwort

Leere E-Mail-ID

Passwort leeren

Leere E-Mail und Passwort

Jetzt sind wir mit den Testfällen fertig und können dasselbe ausführen.

Gehen Sie zur Registerkarte Ausführen und klicken Sie auf Start, um die Testfälle auszuführen.

Hier sind die Protokollmeldungen für die Testfälle -

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

Fazit

Wir haben hier gesehen, wie eine Anmeldeseite mit verschiedenen Eingaben getestet wird, um zu überprüfen, ob die Anmeldung ordnungsgemäß funktioniert oder nicht. Einzelheiten zur Ausführung finden Sie im Protokollabschnitt.