Selenium IDE-Tutorial

⚡ Intelligente Zusammenfassung

Selenium IDE ist das Aufnahme- und Wiedergabewerkzeug der Selenium Suite, gebaut für Prototypenping Selenese testet Tests anstatt große Testreihen zu pflegen, und seine Bereiche umfassen das Aufzeichnen, Bearbeiten, Ausführen und Überprüfen jedes Selenese-Befehls.

  • 🔘 Zweck: Die IDE zeichnet Browseraktionen als Selenese-Befehle auf und gibt sie ohne Programmierung wieder.
  • ☑️ Umfang: Behandle es als Prototypping Anschließend kann das Skript für ein wartungsfreundliches Framework exportiert werden.
  • ✅ Menüleiste: Dateifunktionen: Erstellen, Öffnen, Speichern und Exportieren; Bearbeiten: Fügt neue Befehle und Kommentare ein.
  • 🧪 Option: Im Dialogfeld „Optionen“ wird das Standard-Timeout, die Basis-Timeout-Zeit, festgelegt. URL Verhalten und die Reihenfolge beim Erstellen des Locators.
  • ️ Editor: In der Tabellenansicht werden Befehle, Ziele und Werte eingegeben; die Quelltextansicht zeigt das gleiche Skript als Markup an.
  • 📊 Feedback-Fenster: Im Protokollbereich werden Debug-, Info-, Warn- und Fehlermeldungen angezeigt, während im Referenzbereich der ausgewählte Befehl erläutert wird.
  • 🚀 Heute: Die aktuelle IDE ist Chrome. Firefox und eine Edge-Erweiterung, die Projekte als einzelne .side-Datei speichert.

Selenium IDE-Tutorial zur Darstellung von Bereichen, Menüs und Symbolleiste

Was ist Selenium IDE?

Selenium IDE (Integrated Development Environment) ist das einfachste Tool in der Selenium Suite. es ist ein Firefox Ein Add-on, das dank seiner Aufnahme- und Wiedergabefunktion sehr schnell Tests erstellt. Diese Funktion ähnelt der von QTPDie Installation ist kinderleicht und die Bedienung einfach.

⚠️ Hinweis zu den Versionen: die Firefox Das in diesem Artikel abgebildete Add-on wurde eingestellt. Das Tool ist weiterhin als Chrome-Add-on verfügbar. Firefox und Kante Browsererweiterung das Aufnahme und Wiedergabe beibehält, aber die Benutzeroberfläche neu anordnet und ein Projekt als einzelne Datei speichert. .side Datei. Alle unten aufgeführten Originalbildschirme und -einstellungen bleiben wie veröffentlicht erhalten.

Wegen seiner Einfachheit, Selenium Die IDE sollte nur als Prototyp verwendet werden.ping Werkzeug, keine Gesamtlösung für die Entwicklungping und die Pflege komplexer Testsuiten.

Obwohl Sie es verwenden können Selenium IDE ohne Vorkenntnisse in der Programmierung, Sie sollten zumindest mit HTML vertraut sein, JavaSkriptKenntnisse des DOM (Document Object Model) sind erforderlich, um dieses Tool optimal zu nutzen. JavaEin Skript wird benötigt, sobald wir zum Abschnitt über den Selenese-Befehl „runScript“ kommen.

Selenium IDE unterstützt den Autovervollständigungsmodus beim Erstellen von Tests. Diese Funktion dient zwei Zwecken:

  • Es hilft dem Tester, Befehle schneller einzugeben.
  • Es hindert den Benutzer daran, ungültige Befehle einzugeben.

Selenium IDE-Funktionen

Der untenstehende Bildschirm mit Beschriftungen zeigt alle Regionen an, die im weiteren Verlauf dieses Artikels erwähnt werden.

Selenium IDE-Fenster mit Menüleiste, Basis URL Leiste, Symbolleiste, Testfallbereich, Editor und Protokollbereich mit den Bezeichnungen

Menüleiste

Es befindet sich ganz oben in der IDE. Die am häufigsten verwendeten Menüs sind Datei, Bearbeiten und Optionen.

Datei-Menü

  • Es enthält Optionen zum Erstellen, Öffnen, Speichern und Schließen von Tests.
  • Die Tests werden im HTML-Format gespeichert.
  • Die nützlichste Option ist „Exportieren“, da sie es Ihnen ermöglicht, Ihre Selenium IDE-Testfälle in lauffähige Dateiformate umwandeln Selenium Fernbedienung und WebDriver
  • „Testfall exportieren als…“ exportiert nur den aktuell geöffneten Testfall.
  • Mit „Testsuite exportieren als…“ werden alle Testfälle der aktuell geöffneten Testsuite exportiert.

Im untenstehenden erweiterten Menü „Datei“ werden beide Exportoptionen nebeneinander angezeigt.

Selenium Das IDE-Dateimenü wurde erweitert und zeigte die Optionen „Testfall exportieren als“ und „Testsuite exportieren als“ an.

  • Ab Selenium IDE v1.9.1, Testfälle können nur in die folgenden Formate exportiert werden:
    • .cs (C#-Quellcode)
    • .java (Java Quellcode)
    • .py (Python Quellcode)
    • .rb (Ruby-Quellcode)

Beim Exportieren wird jede Selenese-Zeile als Anweisung in der gewählten Sprache umgeschrieben, wie es bei dieser HTML-zu-Java Der Vergleich zeigt es.

Selenese HTML-Testfall neben dem entsprechenden exportierten Code Java Quellcode

Hinweis: Selenium Die Fernbedienung wurde entfernt. Selenium 3, daher kann ein exportiertes RC-Skript nicht mehr ausgeführt werden. Die aktuelle IDE exportiert stattdessen WebDriver-Code.

Bearbeiten-Menü

  • Es enthält übliche Optionen wie Rückgängig, Wiederherstellen, Ausschneiden, Kopieren, Einfügen, Löschen und Alles auswählen.
  • Die beiden wichtigsten Optionen sind „Neuen Befehl einfügen“ und „Neuen Kommentar einfügen“.

Selenium Im IDE-Bearbeitungsmenü sind die Optionen „Neuen Befehl einfügen“ und „Neuen Kommentar einfügen“ hervorgehoben.

Der neu eingefügte Befehl oder Kommentar wird über der aktuell ausgewählten Zeile platziert.

Editorraster vor und nach dem Einfügen eines neuen Befehls oberhalb der ausgewählten Zeile

  • Befehle sind schwarz dargestellt.
  • Kommentare sind lila markiert.

Durch den Farbunterschied lässt sich ein eingefügter Kommentar in einem langen Skript leicht erkennen.

Editorzeilen, die einen schwarzen Selenese-Befehl neben einer violetten Kommentarzeile anzeigen

Optionsmenü

Es bietet die Schnittstelle zum Konfigurieren verschiedener Einstellungen von Selenium IDE.

Wir werden uns auf die Optionen „Optionen“ und „Zwischenablageformat“ konzentrieren.

Untermenü „Zwischenablageformat“ mit Auflistung aller verfügbaren Code-Snippet-Formate

Zwischenablageformat

  • Das Zwischenablageformat ermöglicht es Ihnen, einen Selenese-Befehl aus dem Editor zu kopieren und als Code-Snippet einzufügen.
  • Das Format des Codes richtet sich nach der Option, die Sie hier in der Liste „Zwischenablageformat“ ausgewählt haben.
  • HTML ist die Standardauswahl.

Zum Beispiel, wenn Sie wählen Java/JUnit 4/WebDriver als Ihr Zwischenablageformat, jeder Selenese-Befehl, den Sie kopieren von Selenium Der Editor der IDE wird eingefügt als Java Code. Siehe Abbildung unten.

Selenese-Befehl aus dem Editor kopiert und eingefügt als Java WebDriver-Anweisung

Selenium Dialogfeld „IDE-Optionen“

Sie können die starten Selenium Klicken Sie in der Menüleiste auf Optionen > Optionen…, um das Dialogfeld „IDE-Optionen“ zu öffnen. Obwohl viele Einstellungen verfügbar sind, konzentrieren wir uns auf die wenigen wichtigen.

Selenium IDE-Optionen-Dialog mit Timeout, Erweiterungen, Basis URL und Datensatzeinstellungen mit der Bezeichnung

  • Standard-Timeout-Wert. Dies bezieht sich auf den Zeitpunkt, an dem Selenium Es muss gewartet werden, bis ein bestimmtes Element erscheint oder zugänglich wird, bevor ein Fehler generiert wird. Der Standard-Timeout-Wert beträgt 30000 ms.
  • Selenium IDE-Erweiterungen. Hier geben Sie die Erweiterungen an, die Sie verwenden möchten. Selenium Die Fähigkeiten der IDE. Du kannst besuchen addons.mozilla.org und verwenden Sie „Selenium” als Schlüsselwort für die Suche nach bestimmten Erweiterungen.
  • Merke dir die Basis URL. Lassen Sie dies aktiviert, wenn Sie möchten Selenium IDE zum Merken der Basis URL jedes Mal, wenn Sie es starten. Wenn Sie diese Option deaktivieren, Selenium Die IDE startet immer mit einem leeren Wert für die Basis. URL.
  • Autostart-Datensatz. Wenn Sie dies überprüfen, Selenium IDE zeichnet Ihre Browseraktionen sofort beim Start auf.
  • Locator-Builder. Hier legen Sie die Reihenfolge fest, in der die Locatoren während der Aufzeichnung generiert werden. Locators sind Möglichkeiten, um zu sagen Selenium IDE, auf welches UI-Element ein Selenese-Befehl reagieren soll. Wenn Sie im Setup unten auf ein Element mit einem ID-Attribut klicken, wird die ID dieses Elements als Locator verwendet, da „id“ das erste in der Liste ist. Wenn dieses Element kein ID-Attribut hat, Selenium sucht als nächstes nach dem Attribut „name“, da es an zweiter Stelle in der Liste steht. Die Liste geht weiter und weiter, bis eine passende gefunden wird.

Durch Ziehen eines Eintrags nach oben oder unten in dieser Liste ändert sich, welches Attribut der Recorder zuerst auswählt.

Liste der Locator-Generatoren mit Angabe der Prioritätsreihenfolge, die beim Generieren eines Locators durch den Rekorder verwendet wird

Basis URL Bar

Jede relative Adresse in einem Skript wird anhand dieses Feldes aufgelöst.

Basis URL Bar von Selenium Die IDE enthält die Adresse der zu testenden Anwendung.

  • Es verfügt über ein Dropdown-Menü, das alle vorherigen Werte speichert, um den Zugriff zu erleichtern.
  • Der Selenese-Befehl „open“ führt Sie zu URL die Sie in der Basis angegeben haben URL.
  • In dieser Tutorialreihe werden wir verwenden demo.guru99.com/test/newtours/ als unsere Basis URLEs ist die Website für Mercury Tours ist eine Demo-Webanwendung, die hier zu Testzwecken eingesetzt wird. Wir verwenden diese Anwendung, da sie alle Elemente enthält, die wir für die folgenden Themen benötigen.
  • Die Basis URL ist sehr nützlich, um auf relative Daten zuzugreifen. URLs. Angenommen, Ihre Basis URL wird auf die eingestellte Mercury Die Touradresse finden Sie oben. Wenn Sie den Befehl „open“ mit dem Zielwert „signup“ ausführen, Selenium IDE leitet den Browser zur Anmeldeseite weiter. Siehe Abbildung unten.

Befehl öffnen mit dem relativen Zielregistrierungsauflösen gegen die konfigurierte Basis URL

Toolbar

Die Symbolleiste enthält die Steuerelemente für Aufnahme und Wiedergabe. Jede Schaltfläche und ihre Funktion sind unten aufgeführt.

Schieberegler für die Wiedergabegeschwindigkeit Wiedergabegeschwindigkeit. Diese Einstellung steuert die Geschwindigkeit der Ausführung Ihres Testskripts.
Aufnahmetaste Aufnahme. Hiermit starten/beenden Sie Ihre Aufnahmesitzung. Jede Browseraktion wird als Selenese-Befehl im Editor eingegeben.
Schaltfläche „Gesamte Testsuite abspielen“ Die gesamte Testsuite abspielen. Dadurch werden nacheinander alle im Testfallbereich aufgeführten Testfälle abgespielt.
Schaltfläche „Aktuellen Testfall abspielen“ Aktuellen Testfall abspielen. Dadurch wird nur der aktuell im Testfallbereich ausgewählte Testfall abgespielt.
Pause- und Fortsetzungstaste Pause/Fortsetzen. Hiermit wird die Wiedergabe pausiert oder fortgesetzt.
Schritttaste Schritt. Mit dieser Schaltfläche können Sie jeden Befehl in Ihrem Testskript einzeln ausführen.
Schaltfläche „Rollup-Regeln anwenden“ Wenden Sie Rollup-Regeln an. Dies ist eine erweiterte Funktion. Sie ermöglicht es Ihnen, Selenese-Befehle zu gruppieren und als eine einzige Aktion auszuführen.

Testfallbereich

Testfall-Bereich mit Auflistung offener Testfälle, farblicher Kennzeichnung für bestandene und nicht bestandene Tests sowie einer Laufzeitzusammenfassung

  • In Selenium In der IDE können Sie mehrere Testfälle gleichzeitig öffnen.
  • Der Testfallbereich zeigt Ihnen die Liste der aktuell geöffneten Testfälle.
  • Wenn Sie eine Testsuite öffnen, werden im Testfallbereich automatisch alle darin enthaltenen Testfälle aufgelistet.
  • Der fettgedruckte Testfall ist der aktuell ausgewählte Testfall.
  • Nach der Wiedergabe wird jeder Testfall farblich gekennzeichnet, um anzuzeigen, ob er bestanden wurde oder nicht.
  • Grüne Farbe bedeutet „Bestanden“.
  • Rote Farbe bedeutet „Fehlgeschlagen“.
  • Im unteren Teil finden Sie eine Zusammenfassung der Anzahl der Testfälle, die ausgeführt wurden und fehlgeschlagen sind.

Herausgeber

Der Editor ist der Ort, an dem die gesamte Interaktion stattfindet. Er ist in zwei Ansichten verfügbar: Tabellenansicht und Quelltextansicht.

Tabellenansicht

  • Die meiste Zeit wirst du daran arbeiten Selenium IDE mit Tabellenansicht.
  • Hier erstellen und bearbeiten Sie Selenese-Befehle.
  • Nach der Wiedergabe ist jeder Schritt farblich gekennzeichnet.

Editor in Tabellenansicht mit farblich gekennzeichneten ausgeführten Schritten nach der Wiedergabe

  • Um Schritte zu erstellen, geben Sie den Namen des Befehls in das Textfeld „Befehl“ ein.
  • Es zeigt eine Dropdown-Liste mit Befehlen an, die dem Eintrag entsprechen, den Sie gerade eingeben.ping.
  • Target ist ein beliebiger Parameter (wie Benutzername, Passwort) für einen Befehl und Wert ist der Eingabewert (wie tom, 123pass) für diese Targets.

Befehl, Target und Wertfelder der Selenium IDE-Tabelleneditor

Quellansicht

  • Es zeigt die Schritte im HTML-Format (Standard) an.
  • Außerdem können Sie Ihr Skript wie in der Tabellenansicht bearbeiten.

Editor in Quelltextansicht, der denselben Testfall als HTML-Selenese-Tabelle anzeigt.

Protokollbereich

Das Protokollfenster zeigt Laufzeitmeldungen während der Ausführung an. Es liefert Echtzeit-Updates darüber, was passiert. Selenium IDE tut es.

Protokolle werden in vier Typen eingeteilt:

  • Debuggen Standardmäßig werden Debug-Meldungen nicht im Protokollfenster angezeigt. Sie erscheinen nur, wenn Sie sie filtern. Sie liefern technische Informationen darüber, was Selenium IDE im Hintergrund tut. Es kann Meldungen anzeigen, wie z. B. dass ein bestimmtes Modul geladen wurde, eine bestimmte Funktion aufgerufen wurde oder ein externer JavaSkriptdatei wurde als Erweiterung geladen.
  • Infos – Es gibt an, welcher Befehl Selenium IDE wird derzeit ausgeführt.
  • Warnen – Dies sind Warnmeldungen, die in besonderen Situationen auftreten.
  • Fehler Dies sind Fehlermeldungen, die generiert werden, wenn Selenium Die IDE kann einen Befehl nicht ausführen, oder eine von ihr angegebene Bedingung tritt nicht ein. Befehl „verify“ oder „assert“. nicht erfüllt ist.

Dropdown-Liste im Protokollfenster mit den Meldungstypen Debug, Info, Warnung und Fehler

Protokolle können nach Typ gefiltert werden. Wenn Sie beispielsweise die Option „Fehler“ aus der Dropdown-Liste auswählen, werden im Protokollbereich nur Fehlermeldungen angezeigt.

Der Protokollbereich ist nach Fehlern gefiltert, sodass nur noch Meldungen über fehlgeschlagene Befehle sichtbar sind.

Referenzbereich

Der Referenzbereich zeigt eine Kurzbeschreibung des aktuell im Editor ausgewählten Selenese-Befehls. Er zeigt außerdem die Beschreibung des Locators und des Werts an, die für diesen Befehl verwendet werden sollen.

Referenzbereich mit Beschreibung des ausgewählten Selenese-Befehls und seiner Ziel- und Wertargumente

UI-Elementbereich

Das UI-Element ist für Fortgeschrittene Selenium Benutzer. Es verwendet JavaScript Object Notation (JSON) zur Definition der ElementzuordnungpingDie Dokumentation und Ressourcen finden Sie unter der Option „UI-Elementdokumentation“ im Hilfemenü. Selenium IDE.

Hilfemenü von Selenium IDE mit dem Eintrag „UI-Elementdokumentation“

Ein Beispiel für einen UI-Element-Bildschirm ist unten dargestellt.

UI-Element-Bereich mit einer JSON-Elementzuordnung für eine zu testende Anwendung

Rollup-Bereich

Mit Rollup können Sie eine Gruppe von Befehlen in einem Schritt ausführen. Eine solche Gruppe von Befehlen wird einfach als „Rollup“ bezeichnet. Dabei werden folgende Funktionen intensiv genutzt: JavaSkript- und UI-Element-Konzepte zum Formulieren einer Befehlssammlung, die einer „Funktion“ in Programmiersprachen ähnelt.

Rollups sind wiederverwendbar; das heißt, sie können innerhalb eines Testfalls mehrfach verwendet werden. Da Rollups Gruppen von Befehlen sind, die zu einem einzigen zusammengefasst werden, tragen sie wesentlich zur Verkürzung Ihres Testskripts bei.

Mehrere Selenese-Schritte wurden im Editor zu einem einzigen Rollup-Befehl zusammengefasst.

Ein Beispiel dafür, wie der Inhalt der Rollup-Registerkarte aussieht, ist unten dargestellt.

Rollup-Bereich, der Folgendes anzeigt JavaSkriptdefinition hinter einer wiederverwendbaren Rollup-Regel

Die Rollup- und UI-Element-Bereiche haben in der aktuellen Erweiterung kein Gegenstück; diese Rolle übernehmen jetzt die Kontrollflussbefehle und der Codeexport.

Häufig gestellte Fragen

Eine einzige Datei mit der Endung .side enthält das gesamte Projekt – jeden Test, jede Testsuite und die Basis. URLDas ersetzt das alte Modell, bei dem pro Testfall eine HTML-Datei erstellt wurde, und vereinfacht die Versionskontrolle des Projekts.

Ja. Die Wiedergabe innerhalb der Erweiterung verwendet den Browser, in dem sie installiert ist, aber der Befehlszeilen-Runner führt ein gespeichertes Projekt in anderen Browsern aus und lässt sich in eine Build-Pipeline einbinden, was der Browser-Player nicht kann.

Die aktuelle IDE enthält Kontrollflussbefehle wie if, else if, else, while, times, do, repeat if und for each. Das deckt Verzweigungen und Schleifen ab.ping in einem aufgezeichneten Skript ohne JavaSkriptbasierte Workarounds, die die alte Rollup-Funktion erforderten.

Der Recorder speichert mehrere Kandidaten-Locator für jedes Element. Während der Wiedergabe werden die Alternativen ausprobiert, bis eine erfolgreich ist. Daher führt eine geänderte ID nicht zwangsläufig zum Abbruch des Vorgangs. Bei anhaltenden Fehlern muss die Locatorliste jedoch weiterhin manuell bearbeitet werden.

Ein Rechtsklick auf einen Test oder eine Testsuite bietet WebDriver-Code für C# NUnit, C# xUnit, Java JUnit, JavaScript Mocha, Python Frage und Ruby RSpec. Ein optionaler Schalter fügt Kommentare hinzu. tracJede generierte Zeile wird zu ihrem aufgezeichneten Schritt zurückgeführt.

Maschinelles Lernen wird hauptsächlich auf den schwächsten Teil aufgezeichneter Tests angewendet: die Locatoren. Selbstheilende Systeme bewerten mehrere Kandidatenselektoren und tauschen sie bei einer Änderung der Markierung gegen einen funktionierenden aus. Ähnliche Modelle gruppieren wiederholte Fehler, um echte Defekte von Timing-Rauschen zu trennen.

Es eignet sich hervorragend für den Aufräumvorgang. Der exportierte Code ist eine lange lineare Methode, die Copilot in Seitenobjekte umwandelt, fest codierte Daten in Fixtures einbindet und feste Pausen durch explizite Wartezeiten ersetzt. RevSehen Sie sich die darin gespeicherten Standortdaten an.

Sobald Tests eine gemeinsame Einrichtung, Datendateien, Berichterstellung oder Wiederverwendung in verschiedenen Testreihen erfordern, ist die IDE hervorragend geeignet, um ein Szenario schnell zu beweisen; ein codierter Selenium Das Framework sorgt dafür, dass Hunderte dieser Szenarien wartungsfähig bleiben.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: