Wie man den Dienst nutzt Selenium IDE mit Skripten und Befehlen (Assert, Verify)
Wir werden die Mercury Tours-Website als unsere zu testende Webanwendung. Es handelt sich um ein Online-Flugreservierungssystem, das alle Elemente enthält, die wir für dieses Tutorial benötigen. Die URL lautet https://demo.guru99.com/test/newtours/, und dies wird unsere Basis-URL sein.
Lassen Sie uns nun unser erstes Testskript erstellen Selenium IDE mit der gebräuchlichsten Methode – durch Aufnahme. Anschließend führen wir unser Skript mit der Wiedergabefunktion aus.
Erstellen Sie ein Skript durch Aufzeichnen
Schritt 1
- Start Firefox und Selenium IDE.
- Geben Sie den Wert für unsere Basis-URL ein: https://demo.guru99.com/test/newtours/.
- TogglSchalten Sie die Schaltfläche „Aufzeichnen“ ein (sofern sie nicht bereits standardmäßig eingeschaltet ist).
Schritt 2
In Firefox, navigiere zu https://demo.guru99.com/test/newtours/. Firefox sollte Sie zu einer Seite führen, die der unten gezeigten ähnelt. |
|
Schritt 3
|
|
Schritt 4
|
|
Schritt 5
|
|
Schritt 6
TogglDrücken Sie die Aufnahmetaste, um die Aufnahme zu stoppen. Ihr Skript sollte nun wie das unten gezeigte aussehen. |
|
Schritt 7
Nachdem wir nun 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 auch 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 Die IDE sollte in der Lage sein, alles fehlerfrei zu reproduzieren.
Einführung in die Selenium Befehle – Selenese
- Selenese-Befehle können maximal zwei Parameter haben: Ziel und Wert.
- Parameter sind nicht immer erforderlich. Es hängt davon ab, wie viele der Befehl benötigt.
Arten von Befehlen
Aktionen | Dies sind Befehle, die direkt mit Seitenelementen interagieren.
Beispiel: Der „Klick“-Befehl ist eine Aktion, da Sie direkt mit dem Element interagieren, auf das Sie klicken. Der Befehl „Eingeben“ ist ebenfalls eine Aktion, da Sie Werte in ein Textfeld eingeben und das Textfeld diese Ihnen im Gegenzug anzeigt. Es besteht eine wechselseitige Interaktion zwischen Ihnen und dem Textfeld. |
---|---|
Accessoren | Dabei handelt es sich um 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 ihn in einer Variablen speichert. Es interagiert mit keinem Element auf der Seite. |
Behauptungen | Dabei handelt es sich um Befehle, die überprüfen, ob eine bestimmte Bedingung erfüllt ist.
3 Arten von Behauptungen
|
Bestätigen vs. Verifizieren in Selenium
Gemeinsame Befehle
Befehl | Anzahl der Parameter | Beschreibung |
---|---|---|
XNUMXh geöffnet | 0 - 2 | Öffnet eine Seite über eine URL. |
klicken/clickAndWait | 1 | Klickt auf ein angegebenes Element. |
Typ/Typschlüssel | 2 | Gibt eine Zeichenfolge ein. |
verifyTitle/assertTitle | 1 | Vergleicht den tatsächlichen Seitentitel mit einem erwarteten Wert. |
überprüfenTextPresent | 1 | Überprüft, ob ein bestimmter Text auf der Seite gefunden wird. |
überprüfenElementPresent | 1 | Überprüft das Vorhandensein eines bestimmten Elements. |
überprüfenTabelle | 2 | Vergleicht den Inhalt einer Tabelle mit erwarteten Werten. |
waitForPageToLoad | 1 | Hält die Ausführung an, bis die Seite vollständig geladen ist. |
waitForElementPresent | 1 | Hält die Ausführung an, bis das angegebene Element vorhanden ist. |
Erstellen Sie manuell ein Skript 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 Befehlstextfeld 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 verwenden daher dessen NAME als Locator. Kopieren Sie den NAME-Wert und fügen Sie ihn in das Target Feld in Selenium IDE.
Noch in der Target Stellen Sie „userName“ mit „name=“ voran, um anzuzeigen, dass Selenium Die IDE sollte auf ein Element abzielen, dessen NAME-Attribut „userName“ ist. Geben Sie „invalidUN“ in das Textfeld „Wert“ ein. Selenium IDE. Ihr Testskript sollte nun wie im Bild unten aussehen. Wir sind mit dem dritten Befehl fertig. Hinweis: Anstelle von invalidUN können Sie auch eine beliebige andere Textzeichenfolge eingeben. Aber Selenium Die IDE unterscheidet zwischen Groß- und Kleinschreibung 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“.
Die Schaltfläche „Suchen“ in Selenium IDE wird verwendet, um zu überprüfen, ob das, was wir in die Target Textfeld ist tatsächlich das richtige UI-Element.
Lassen Sie uns den Testfall Invalid_login verwenden, den wir in den vorherigen Abschnitten erstellt haben. Klicken Sie auf einen beliebigen Befehl mit einem Target Eintrag, sagen wir, der dritte Befehl.
Klicken Sie auf die Schaltfläche Suchen. Beachten Sie, dass das Textfeld Benutzername im Mercury Die Seite „Touren“ wird für eine Sekunde hervorgehoben.
Dies zeigt das an Selenium IDE konnte das erwartete Element korrekt erkennen und darauf zugreifen. Wenn die Schaltfläche „Suchen“ ein anderes Element oder gar kein Element markiert hat, muss mit Ihrem Skript ein Fehler vorliegen.
Befehl ausführen
Dadurch können Sie jeden einzelnen Befehl ausführen, ohne den gesamten Testfall ausführen zu müssen. 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 Ihr Browser auf dem Mercury Touren-Homepage. 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“ ausgefüllt wird.
Das Ausführen von Befehlen auf diese Weise hängt stark von der Seite ab, die ausgeführt wird Firefox wird derzeit angezeigt. Das bedeutet, wenn Sie das obige Beispiel mit der angezeigten Google-Startseite anstelle von Mercury Tours‘, dann schlägt Ihr Schritt fehl, da auf der Startseite von Google kein Textfeld mit dem Attribut „userName“ vorhanden ist.
Startpunkt
Ein Startpunkt ist ein Indikator, der Aufschluss gibt Selenium IDE, welche Zeilen die Ausführung starten soll. Die Tastenkombination lautet „S“.
Im obigen Beispiel beginnt die Wiedergabe in der dritten Zeile (Typ | Passwort | invalidPW). Sie können in einem einzelnen Testskript nur einen Startpunkt haben.
Der Startpunkt ähnelt dem Ausführen von Befehlen, da beide von der aktuell angezeigten Seite abhängig sind. Der Startpunkt schlägt fehl, wenn Sie sich auf der falschen Seite befinden.
Haltepunkte
Haltepunkte sind Indikatoren, die Aufschluss geben Selenium IDE, wo der Test automatisch angehalten werden soll. Die Tastenkombination ist „B“.
Die gelbe Markierung bedeutet, dass der aktuelle Schritt aussteht. Das beweist das Selenium IDE hat die Ausführung dieses Schritts angehalten. Sie können in einem Testfall mehrere Haltepunkte haben.
Schritt
Es ermöglicht Ihnen, nach dem Anhalten des Testfalls die folgenden Befehle einzeln auszuführen. Verwenden wir das Szenario im vorherigen Abschnitt „Haltepunkte“.
Wichtige Dinge, die Sie bei der Verwendung anderer Formate in der Quellansicht beachten sollten
Selenium IDE funktioniert nur mit HTML gut – andere Formate befinden sich noch im Experimentiermodus. Es ist NICHT ratsam Tests mit 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 die 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 dieser vollständig verloren, wenn Sie zu einem anderen Format wechseln.
- Obwohl Sie Ihren Testfall in der Quellansicht speichern können, Selenium IDE kann es 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.
- Mithilfe der Schaltfläche „Suchen“ wird überprüft, ob der Befehl auf das richtige Element zugreifen kann.
- Die Tabellenansicht zeigt ein Testskript in tabellarischer Form an, während die Quellansicht es im HTML-Format anzeigt.
- 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
- Accessoren – „liest“ eine Elementeigenschaft und speichert sie in einer Variablen
- Behauptungen – vergleicht einen tatsächlichen Wert mit einem erwarteten
- Es gibt drei Arten von Behauptungen:
- Bestätigen – bei einem Fehler werden nachfolgende Schritte nicht mehr ausgeführt
- Überprüfen – bei einem Fehler werden die nachfolgenden Schritte weiterhin ausgeführt.
- WaitFor – ist erfolgreich, wenn die angegebene Bedingung innerhalb des Timeout-Zeitraums erfüllt wird, andernfalls schlägt der Vorgang fehl.
- Die häufigsten Befehle sind:
- XNUMXh geöffnet
- klicken/clickAndWait
- Typ/Typschlüssel
- verifyTitle/assertTitle
- überprüfenTextPresent
- überprüfenElementPresent
- überprüfenTabelle
- waitForPageToLoad
- waitForElementPresent