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: