Wir werden die Mercury Tours-Website als unsere zu testende Webanwendung verwenden. Es ist ein Online-Flugreservierungssystem, das alle Elemente enthält, die wir für dieses Tutorial benötigen. Die URL lautet http://demo.guru99.com/test/newtours/ und dies ist unsere Basis-URL.
Erstellen Sie ein Skript durch Aufzeichnen
Lassen Sie uns nun unser erstes Testskript in Selenium IDE mit der gängigsten Methode erstellen - durch Aufzeichnen. Anschließend führen wir unser Skript mit der Wiedergabefunktion aus.
Schritt 1
- Starten Sie Firefox und Selenium IDE.
- Geben Sie den Wert für unsere Basis-URL ein: http://demo.guru99.com/test/newtours/.
- Schalten Sie die Aufnahmetaste ein (falls sie noch nicht standardmäßig aktiviert ist).
Schritt 2
Navigieren Sie in Firefox zu http://demo.guru99.com/test/newtours/. Firefox sollte Sie zu einer Seite führen, die der unten gezeigten ähnlich ist. |
|
Schritt 3
|
|
Schritt 4
|
|
Schritt 5
|
|
Schritt 6
Schalten Sie die Aufnahmetaste aus, um die Aufnahme zu beenden. Ihr Skript sollte jetzt wie das unten gezeigte aussehen. |
|
Schritt 7
Nachdem wir mit unserem Testskript fertig sind, werden wir es in einem Testfall speichern. Wählen Sie im Menü Datei die Option "Testfall speichern". Alternativ können Sie einfach Strg + S drücken. |
|
Schritt 8
|
|
Schritt 9.
Beachten Sie, dass die Datei als HTML gespeichert wurde. |
Schritt 10.
Gehen Sie zurück zu Selenium IDE und klicken Sie auf die Schaltfläche Wiedergabe, um das gesamte Skript auszuführen. Selenium IDE sollte in der Lage sein, alles fehlerfrei zu replizieren.
Einführung in Selen-Befehle - Selen
- Selenese-Befehle können maximal zwei Parameter haben: Ziel und Wert.
- Parameter sind nicht immer erforderlich. Dies hängt davon ab, wie viele der Befehl benötigt.
3 Arten von Befehlen
Aktionen |
Dies sind Befehle, die direkt mit Seitenelementen interagieren. Beispiel: Der Befehl "click" ist eine Aktion, da Sie direkt mit dem Element interagieren, auf das Sie klicken. Der Befehl "Typ" ist auch eine Aktion, da Sie Werte in ein Textfeld einfügen und das Textfeld sie Ihnen im Gegenzug anzeigt. Es gibt eine wechselseitige Interaktion zwischen Ihnen und dem Textfeld. |
Accessoren |
Dies sind Befehle, mit denen Sie Werte in einer Variablen speichern können. Beispiel: Der Befehl "storeTitle" ist ein Accessor, da er nur den Seitentitel "liest" und in einer Variablen speichert. Es interagiert nicht mit einem Element auf der Seite. |
Behauptungen |
Dies sind Befehle, die überprüfen, ob eine bestimmte Bedingung erfüllt ist. 3 Arten von Behauptungen
|
Assert vs. Verify
Gemeinsame Befehle
Befehl | Anzahl der Parameter | Beschreibung |
---|---|---|
öffnen | 0 - 2 |
Öffnet eine Seite mit einer URL. |
click / clickAndWait | 1 |
Klickt auf ein bestimmtes Element. |
type / typeKeys | 2 |
Gibt eine Folge von Zeichen ein. |
verifyTitle / assertTitle | 1 |
Vergleicht den tatsächlichen Seitentitel mit einem erwarteten Wert. |
verifyTextPresent | 1 |
Überprüft, ob ein bestimmter Text auf der Seite gefunden wird. |
verifyElementPresent | 1 |
Überprüft das Vorhandensein eines bestimmten Elements. |
verifyTable | 2 |
Vergleicht den Inhalt einer Tabelle mit den erwarteten Werten. |
waitForPageToLoad | 1 |
Unterbricht die Ausführung, bis die Seite vollständig geladen ist. |
waitForElementPresent | 1 |
Unterbricht die Ausführung, bis das angegebene Element vorhanden ist. |
Erstellen Sie ein Skript manuell mit Firebug
Jetzt werden wir denselben Testfall manuell neu erstellen, indem wir die Befehle eingeben. Dieses Mal müssen wir Firebug verwenden.
Schritt 1
|
Schritt 2: Klicken Sie im Editor auf die oberste leere Zeile. |
Geben Sie "open" in das Textfeld "Befehl" ein und drücken Sie die Eingabetaste. |
Schritt 3
|
Schritt 4
|
Schritt 5
|
Klicken Sie auf das Textfeld Benutzername. Beachten Sie, dass Firebug Ihnen automatisch den HTML-Code für dieses Element anzeigt. |
Schritt 6
Beachten Sie, dass das Textfeld Benutzername keine ID, aber ein NAME-Attribut hat. Wir werden daher seinen NAMEN als Locator verwenden. Kopieren Sie den NAME-Wert und fügen Sie ihn in das Zielfeld in Selenium IDE ein. Stellen Sie weiterhin im Textfeld Ziel das Präfix "Benutzername" mit "Name =" ein, um anzugeben, dass die Selenium-IDE auf ein Element abzielen soll, dessen NAME-Attribut "Benutzername" lautet. Geben Sie "invalidUN" in das Textfeld "Wert" der Selenium-IDE ein. Ihr Testskript sollte jetzt wie im Bild unten aussehen. Wir sind mit dem dritten Befehl fertig. Hinweis: Anstelle von invalidUN können Sie auch eine andere Textzeichenfolge eingeben. Bei der Selenium-IDE wird jedoch zwischen Groß- und Kleinschreibung unterschieden, und Sie geben Werte / Attribute genau wie in der Anwendung ein. |
Schritt 7
|
Schritt 8
|
Schritt 9: Speichern Sie den Testfall auf die gleiche Weise wie im vorherigen Abschnitt.
Verwenden der Schaltfläche "Suchen"
Mit der Schaltfläche Suchen in der Selenium-IDE wird überprüft, ob das, was wir in das Textfeld Ziel eingegeben haben, tatsächlich das richtige UI-Element ist.
Verwenden wir den Testfall Invalid_login, den wir in den vorherigen Abschnitten erstellt haben. Klicken Sie auf einen Befehl mit einem Zieleintrag, z. B. den dritten Befehl.
Klicken Sie auf die Schaltfläche Suchen. Beachten Sie, dass das Textfeld Benutzername auf der Mercury Tours-Seite für eine Sekunde hervorgehoben wird.
Dies zeigt an, dass Selenium IDE das erwartete Element korrekt erkennen und darauf zugreifen konnte. Wenn die Schaltfläche Suchen ein anderes oder gar kein Element hervorgehoben hat, muss ein Fehler in Ihrem Skript vorliegen.
Befehl ausführen
Auf diese Weise können Sie einen einzelnen Befehl ausführen, ohne den gesamten Testfall auszuführen . Klicken Sie einfach auf die Zeile, die Sie ausführen möchten, und klicken Sie dann entweder in der Menüleiste auf "Aktionen> Diesen Befehl ausführen" oder drücken Sie einfach "X" auf Ihrer Tastatur.
Schritt 1. Stellen Sie sicher, dass sich Ihr Browser auf der Mercury Tours-Homepage befindet. Klicken Sie auf den Befehl, den Sie ausführen möchten. Klicken Sie in diesem Beispiel auf die Zeile "type | userName | invalidUN".
Schritt 2. Drücken Sie "X" auf Ihrer Tastatur.
Schritt 3. Beachten Sie, dass das Textfeld für den Benutzernamen mit dem Text "invalidUN" gefüllt wird.
Das Ausführen von Befehlen auf diese Weise hängt stark von der Seite ab, die Firefox gerade anzeigt . Wenn Sie also das obige Beispiel mit der angezeigten Google-Startseite anstelle der von Mercury Tours versuchen, schlägt Ihr Schritt fehl, da auf der Google-Startseite kein Textfeld mit dem Attribut "Benutzername" vorhanden ist.
Startpunkt
Ein Startpunkt ist ein Indikator, der Selenium IDE mitteilt, in welchen Zeilen die Ausführung beginnen soll . Die Tastenkombination lautet "S".
Im obigen Beispiel beginnt die Wiedergabe in der dritten Zeile (Typ | Passwort | invalidPW). Sie können nur einen Startpunkt in einem einzelnen Testskript haben.
Der Startpunkt ähnelt dem Befehl "Ausführen", sodass er von der aktuell angezeigten Seite abhängt. Der Startpunkt schlägt fehl, wenn Sie sich auf der falschen Seite befinden.
Haltepunkte
Haltepunkte sind Indikatoren, die Selenium IDE mitteilen, wo der Test automatisch unterbrochen werden soll. Die Tastenkombination ist "B".
Die gelbe Markierung bedeutet, dass der aktuelle Schritt aussteht. Dies beweist, dass Selenium IDE die Ausführung dieses Schritts angehalten hat. Sie können mehrere Haltepunkte in einem Testfall haben.
Schritt
Sie können nacheinander angehaltene Befehle einzeln ausführen, nachdem Sie den Testfall angehalten haben. Verwenden wir das Szenario im vorherigen Abschnitt "Haltepunkte".
Bevor Sie auf "Schritt" klicken. Der Testfall wird in der Zeile "clickAndWait | login" angehalten. |
|
Nach dem Klicken auf "Schritt". Die Zeile "clickAndWait | login" wird ausgeführt und pausiert mit dem nächsten Befehl (verifyTitle | Sign-on: Mercury Tours). Beachten Sie, dass die nächste Zeile angehalten wird, obwohl dort kein Haltepunkt vorhanden ist. Dies ist der Hauptzweck der Schrittfunktion. Sie führt die nachfolgenden Befehle einzeln aus, damit Sie nach jedem Schritt mehr Zeit haben, das Ergebnis zu überprüfen. |
Wichtige Hinweise zur Verwendung anderer Formate in der Quellansicht
Selenium IDE funktioniert nur mit HTML gut - andere Formate befinden sich noch im experimentellen Modus . Es ist NICHT ratsam , Tests in anderen Formaten in der Quellansicht zu erstellen oder zu bearbeiten, da noch viel Arbeit erforderlich ist, um sie stabil zu machen. Nachfolgend sind die bekannten Fehler ab Version 1.9.1 aufgeführt.
- Sie können weder eine Wiedergabe durchführen noch zur Tabellenansicht zurückkehren, es sei denn, Sie kehren zu HTML zurück.
- Die einzige Möglichkeit, Befehle sicher zum Quellcode hinzuzufügen, besteht darin, sie aufzuzeichnen.
- Wenn Sie den Quellcode manuell ändern, geht alles verloren, wenn Sie in ein anderes Format wechseln.
- Obwohl Sie Ihren Testfall in der Quellansicht speichern können, kann Selenium IDE ihn nicht öffnen.
Die empfohlene Methode zum Konvertieren von Selenese-Tests ist die Verwendung der Option "Testfall exportieren als ..." im Menü "Datei" und nicht über die Quellansicht.
Zusammenfassung
- Testskripte können entweder durch Aufzeichnen oder manuelles Eingeben der Befehle und Parameter erstellt werden.
- Beim manuellen Erstellen von Skripten wird Firebug verwendet, um den Locator abzurufen.
- Mit der Schaltfläche Suchen wird überprüft, ob der Befehl auf das richtige Element zugreifen kann.
- In der Tabellenansicht wird ein Testskript in Tabellenform angezeigt, während in der Quellansicht das HTML-Format angezeigt wird.
- Das Ändern der Quellansicht in ein Nicht-HTML-Format ist noch experimentell.
- Verwenden Sie die Quellansicht nicht zum Erstellen von Tests in anderen Formaten. Verwenden Sie stattdessen die Exportfunktionen.
- Parameter sind nicht immer erforderlich. Es kommt auf den Befehl an.
- Es gibt drei Arten von Befehlen:
- Aktionen - interagiert direkt mit Seitenelementen
- Accessors - "liest" eine Elementeigenschaft und speichert sie in einer Variablen
- Behauptungen - vergleicht einen tatsächlichen Wert mit einem erwarteten
- Es gibt drei Arten von Behauptungen:
- Assert - Bei einem Fehler werden nachfolgende Schritte nicht mehr ausgeführt
- Überprüfen - Nach einem Fehler werden die nachfolgenden Schritte weiterhin ausgeführt.
- WaitFor - wird übergeben, wenn die angegebene Bedingung innerhalb des Zeitlimits erfüllt ist. Andernfalls schlägt es fehl
- Die häufigsten Befehle sind:
- öffnen
- click / clickAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent