Assert & Verify in Selenium IDE

โšก Intelligente Zusammenfassung

Selenium Die IDE mit Skripten und Befehlen ermรถglicht es Testern, Browseraktionen mithilfe von Selenese โ€“ der schlanken Befehlssprache der IDE โ€“ aufzuzeichnen, zu bearbeiten und wiederzugeben. Dieser Artikel behandelt das Aufzeichnen eines Skripts, das manuelle Schreiben von Selenese-Code, die Auswahl zwischen Assert und Verify sowie das Debuggen mit Haltepunkten.

  • ๐ŸŽฌ Rekord: Selenium Die IDE erfasst Klicks, Eingaben und Bestรคtigungen automatisch wรคhrend der Browsernutzung.
  • ๐Ÿงฉ Selenische Sprache: Jeder Befehl hat einen Befehlsnamen, ein optionales Ziel und einen optionalen Wert โ€“ nie mehr als zwei Parameter.
  • ๐Ÿ›‘ Assert vs Verify: Assert bricht den Test bei einem Fehler ab; Verify protokolliert den Fehler und fรคhrt mit dem nรคchsten Schritt fort.
  • ๐Ÿ” Drei Befehlstypen: Aktionen interagieren mit der Seite, Zugriffsmethoden lesen den Zustand in Variablen ein, Zusicherungen prรผfen Bedingungen.
  • ๐Ÿž Debugging-Hilfen: Mit den Befehlen โ€žBefehl ausfรผhrenโ€œ, โ€žStartpunktโ€œ, โ€žHaltepunkteโ€œ und โ€žSchrittโ€œ kรถnnen Sie jeweils einen einzelnen Befehl รผberprรผfen oder erneut ausfรผhren.
  • ๐Ÿค– KI-Boost: KI-Testwerkzeuge generieren automatisch Selenese, schlagen robuste Locatoren vor und konvertieren IDE-Skripte in Selenium WebDriver-Code.

Wie knackt (hackt) man ein Passwort?

Wir werden die Mercury Die Website โ€žToursโ€œ dient uns als Testanwendung. Es handelt sich um ein Online-Flugreservierungssystem, das alle fรผr dieses Tutorial benรถtigten Elemente enthรคlt. Seine Basis URL is https://demo.guru99.com/test/newtours/.

Lassen Sie uns nun unser erstes Testskript erstellen Selenium Wir verwenden die IDE mit der gรคngigsten Methode โ€“ der Aufzeichnung. AnschlieรŸend fรผhren wir das Skript mithilfe der Wiedergabefunktion aus.

Hinweis: Dieses Tutorial verwendet die klassische Firefox-nur Selenium IDE 1.x mit Firebug zur Einfรผhrung der Selenese-Grundlagen. Firebug wurde eingestellt in Firefox 57 und die moderne Selenium IDE ist jetzt ein Chrome / Firefox / Edge-Browsererweiterung mit einer anderen Benutzeroberflรคche. Die unten beschriebenen Selenese-Konzepte, Befehlstypen und Debugging-Funktionen gelten weiterhin direkt fรผr die neue IDE.

Erstellen Sie ein Skript durch Aufzeichnen

Schritt 1)

  • Start Firefox und Selenium IDE.
  • Geben Sie den Wert fรผr unsere Basis ein. URL: https://demo.guru99.com/test/newtours/.
  • TogglSchalten Sie die Aufnahmetaste ein (falls sie nicht standardmรครŸig eingeschaltet ist).

Selenium IDE mit Basis URL Einstellen und Aufnahmetaste eingeschaltet

Schritt 2) In Firefox, navigiere zu https://demo.guru99.com/test/newtours/. Firefox Sie sollten auf einer Seite landen, die der unten stehenden รคhnelt.

Mercury Startseite der Touren in Firefox

Schritt 3)

  • Klicken Sie mit der rechten Maustaste auf eine beliebige leere Stelle auf der Seite โ€“ zum Beispiel auf den Mercury Das Tours-Logo befindet sich in der oberen linken Ecke. Dadurch wird das folgende Fenster angezeigt: Selenium IDE-Kontextmenรผ. Unterlassen Sie Klicken Sie auf beliebige verlinkte Objekte oder Bilder.
  • Wรคhle aus Verfรผgbare Befehle anzeigen .
  • Wรคhlen assertTitle exact: Welcome: Mercury ToursDieser Befehl prรผft, ob der Seitentitel korrekt ist.

Selenium IDE-Kontextmenรผ mit der Option โ€žVerfรผgbare Befehle anzeigenโ€œ

Selenium Der IDE-Editor zeigt den hinzugefรผgten Befehl โ€žassertTitleโ€œ an.

Schritt 4)

  • Im Benutzername Textfeld von Mercury Touren, geben Sie den ungรผltigen Benutzernamen ein invalidUNN.
  • Im Passwort Geben Sie im Textfeld das ungรผltige Passwort ein. invalidPWD.

Ungรผltiger Benutzername eingegeben Mercury Tourenformular

Ungรผltiges Passwort eingegeben Mercury Tourenformular

Schritt 5) Klicken Sie auf die Log-in . Firefox Sie sollten auf der unten angezeigten Seite landen.

Mercury Seite fรผr Anmeldeprobleme bei Touren

Schritt 6) TogglDrรผcken Sie die Aufnahmetaste, um die Aufnahme zu beenden. Ihr Skript sollte nun dem unten stehenden รคhneln.

Selenium Das IDE-Skript wurde nach dem Stopp aufgezeichnet.ping die Blockflรถte

Schritt 7) Speichern Sie nun das aufgezeichnete Testskript. Reichen Sie das Menรผ, wรคhlen Sie Testfall speichernoder drรผcken Sie Ctrl+S.

Option "Testfall speichern" Selenium IDE-Dateimenรผ

Schritt 8)

  • Wรคhlen Sie einen Zielordner aus und benennen Sie ihn dann. Testfall Ungรผltiger Login.
  • Klicken Sie auf Gespeichert.

Speichern-Dialog mit dem Namen Selenium IDE-Testfall Invalid_login

Schritt 9) Beachten Sie, dass die Datei als HTML gespeichert ist.

Gespeicherte Testfalldatei mit HTML-Erweiterung

Schritt 10) Zurรผck zur Seite Selenium IDE und klicken Sie auf Deine Zeit Schaltflรคche zum Ausfรผhren des gesamten Skripts. Selenium Die IDE gibt jede Aktion originalgetreu wieder.

Selenium Die Wiedergabetaste der IDE fรผhrt das aufgezeichnete Skript aus.

Einfรผhrung in die Selenium Befehle โ€“ Selenese

Selenese ist die Skriptsprache, die antreibt Selenium IDE. Die Regeln sind einfach:

  • Jeder Selenese-Befehl akzeptiert bis zu zwei Parameter โ€“ einen Ziel und einem Wert.
  • Parameter sind nicht immer erforderlich. Die Anzahl hรคngt vom jeweiligen Befehl ab.

Arten von Befehlen

Selenese gruppiert Befehle in drei Kategorien. Jede Kategorie hat eine andere Rolle im Skript.

Aktion Befehle, die direkt mit Seitenelementen interagieren. Beispiel: click interagiert mit dem Element, das Sie anklicken; type Ein Wert wird in ein Textfeld eingegeben und vom Textfeld wiedergegeben, wodurch eine Zwei-Wege-Interaktion ermรถglicht wird.
Accessoren Befehle, die einen Wert in einer Variablen speichern. Beispiel: storeTitle Es liest lediglich den Seitentitel und speichert ihn โ€“ es รคndert nichts auf der Seite.
Behauptungen Befehle zur รœberprรผfung einer Bedingung. Selenese bietet drei Arten von Assertions: Behaupten Der Test wird bei einem Fehler abgebrochen. Verify protokolliert den Fehler und fรคhrt fort, und Warten auf Die Ausfรผhrung pausiert, bis eine Bedingung erfรผllt ist (Standard-Timeout 30 Sekunden, konfigurierbar unter Optionen > Allgemein).

Bestรคtigen vs. Verifizieren in Selenium

Die folgenden Diagramme stellen das Laufzeitverhalten eines Assert-Befehls dem eines Verify-Befehls gegenรผber, wenn die Prรผfung mitten im Test fehlschlรคgt.

Befehlsverhalten stoppenping der Test bei Ausfall

รœberprรผfen Sie das Befehlsverhalten und setzen Sie den Test nach einem protokollierten Fehler fort.

Gemeinsame Befehle

Befehl Anzahl der Parameter Beschreibung
XNUMXh geรถffnet 0-2 ร–ffnet eine Seite mit einem URL.
klicken / klicken und warten 1 Klickt auf ein bestimmtes Element.
Typ / Typtasten 2 Gibt eine Zeichenfolge ein.
Titel รผberprรผfen / Titel bestรคtigen 1 Vergleicht den tatsรคchlichen Seitentitel mit einem erwarteten Wert.
รผberprรผfenTextPresent 1 Prรผft, ob ein bestimmter Text auf der Seite gefunden wird.
รผberprรผfenElementPresent 1 Prรผft das Vorhandensein eines bestimmten Elements.
รผberprรผfenTabelle 2 Vergleicht den Inhalt einer Tabelle mit erwarteten Werten.
waitForPageToLoad 1 Die Ausfรผhrung wird unterbrochen, bis die Seite vollstรคndig geladen ist.
waitForElementPresent 1 Die Ausfรผhrung wird unterbrochen, bis das angegebene Element erscheint.

Erstellen Sie manuell ein Skript mit Firebug

Lassen Sie uns nun denselben Testfall manuell mit ty nachbilden.ping Die Befehle. Diese Anleitung verwendet Firebug, um Element-Locators zu untersuchen. (In der modernen Selenium Verwenden Sie in der IDE die im Browser integrierten Entwicklertools anstelle von Firebug.)

Schritt 1) ร–ffne Firefox und Selenium IDE. Geben Sie die Basis ein. URL https://demo.guru99.com/test/newtours/Die Aufnahmetaste muss ausgeschaltet sein.

Selenium IDE-Aufnahme-Umschalter im AUS-Zustand

Schritt 2) Klicken Sie im Editor auf die oberste leere Zeile.

Die erste leere Zeile in der Selenium IDE-Editor

Typ open Geben Sie den Befehl in das Textfeld ein und drรผcken Sie die Eingabetaste.

Der Befehl "ร–ffnen" wurde im Selenium IDE-Befehlsfeld

Schritt 3) Navigieren Firefox zur Basis URL und aktivieren Sie Firebug. Wรคhlen Sie im IDE-Editor die Zeile unterhalb der open Befehl und Typ assertTitleNutzen Sie die Autovervollstรคndigungsvorschlรคge fรผr genauere Ergebnisse.

Autovervollstรคndigungsvorschlรคge fรผr assertTitle in Selenium IDE

Schritt 4) In Firebug, erweitern Sie die <head> Tag zum Enthรผllen <title>Klicken Sie auf den Titelwert (Willkommen: Mercury Nรคchste Stรคdte) und fรผgen Sie es in das Target Feld im Editor.

Kopieren des Seitentitels aus Firebug in das IDE-Zielfeld

Schritt 5) Klicken Sie im Editor auf die dritte leere Zeile und geben Sie Folgendes ein: type im Befehlsfeld. Klicken Sie in Firebug auf die Schaltflรคche Kontrolliere .

Der Befehl โ€žTypโ€œ wird hinzugefรผgt in Selenium IDE-Editor

Klicken Sie auf das Textfeld โ€žBenutzernameโ€œ. Firebug zeigt automatisch das entsprechende HTML-Element an.

Firebug untersucht das Feld โ€žBenutzernameโ€œ auf Mercury Nรคchste Stรคdte

Schritt 6) Das Textfeld โ€žBenutzernameโ€œ hat keine ID, aber ein NAME-Attribut. Kopieren Sie den Wert von NAME und fรผgen Sie ihn in das Feld ein. Target Bereich Selenium IDE.

Kopieren des NAME-Attributs im Feld โ€žBenutzernameโ€œ

Noch in der Target Feld, Prรคfix userName und name= so Selenium Die IDE zielt auf das Element ab, dessen NAME-Attribut den Wert hat. userName.

Selenium IDE-Zielfeld mit dem Locator name=userName

Typ invalidUN im Feld โ€žWertโ€œ. Ihr Skript enthรคlt nun seinen dritten Befehl. Selenium Die IDE unterscheidet zwischen GroรŸ- und Kleinschreibung. Geben Sie daher Werte und Attributnamen genau so ein, wie sie in der Anwendung erscheinen.

Befehl mit dem Zielnamen โ€žuserNameโ€œ und dem Wert โ€žinvalidUNโ€œ eingeben

Schritt 7) Fรผge einen vierten Befehl von ty hinzu.ping type im Befehlsfeld. Verwenden Sie Firebugs Kontrolliere Schaltflรคche im Passwort-Textfeld.

Firebug untersucht das Passwortfeld

Fรผgen Sie das NAME-Attribut ein (password) in die Target Feld, Prรคfix mit name=und setzen Sie den Wert auf invalidPW.

Selenium IDE-Skript nach Hinzufรผgen des Passwort-Typ-Befehls

Schritt 8) Fรผge den fรผnften Befehl mit ty hinzu.ping clickAndWait im Befehlsfeld. Verwenden Sie Firebugs Kontrolliere auf der Schaltflรคche โ€žAnmeldenโ€œ.

Firebug untersucht die Anmeldeschaltflรคche

Fรผgen Sie den Wert NAME ein (login) in die Target Feld mit dem name= Prรคfix.

Endgรผltiges Handbuch Selenium IDE-Skript mit fรผnf Befehlen

Schritt 9) Speichern Sie den Testfall wie zuvor.

Verwenden der Schaltflรคche โ€žSuchenโ€œ.

Das Finde Schaltflรคche ein Selenium Die IDE bestรคtigt, dass der eingegebene Wert Target Das Feld entspricht tatsรคchlich einem UI-Element auf der Seite.

ร–ffnen Sie den Microsoft Store auf Ihrem Windows-PC Ungรผltiger Login Testfall aus dem vorherigen Abschnitt und klicken Sie auf einen beliebigen Befehl mit einem Target Eintrag โ€” zum Beispiel der dritte Befehl.

Schaltflรคche โ€žSuchenโ€œ neben dem Target Feld in Selenium IDE

Klicken Sie auf FindeDas Textfeld โ€žBenutzernameโ€œ auf dem Mercury Die Seite โ€žTourenโ€œ wird kurz hervorgehoben.

Feld โ€žBenutzernameโ€œ hervorgehoben Firefox nach dem Klicken auf โ€žSuchenโ€œ

Der Hervorhebungspunkt bestรคtigt, dass Selenium Die IDE hat den Locator korrekt aufgelรถst. Falls das falsche Element (oder gar kein Element) hervorgehoben wird, muss der Locator im Skript korrigiert werden.

Befehl ausfรผhren

Der Befehl โ€žExecute Commandโ€œ fรผhrt eine einzelne Zeile des Skripts aus, ohne den gesamten Testfall auszufรผhren. Klicken Sie auf die Zeile, die Sie ausfรผhren mรถchten, und wรคhlen Sie entweder Aktionen > Diesen Befehl ausfรผhren aus dem Menรผ oder drรผcken Sie X auf der Tastatur.

Schritt 1) Stellen Sie sicher, dass der Browser auf dem Mercury Startseite der Touren. Klicken Sie auf die Linie, die Sie ausfรผhren mรถchten โ€“ zum Beispiel: type | userName | invalidUN.

Geben Sie den zur Ausfรผhrung ausgewรคhlten Befehl ein. Selenium IDE

Schritt 2) Presse X auf der Tastatur.

Schritt 3) Das Textfeld โ€žBenutzernameโ€œ auf der Seite ist gefรผllt mit invalidUN.

Das Feld โ€žBenutzernameโ€œ wird nach Ausfรผhrung des Befehls ausgefรผllt

Die Ausfรผhrung von Befehlen auf diese Weise hรคngt von der Seite ab, die Firefox wird aktuell angezeigt. Denselben Befehl ausfรผhren auf GoogleDie Homepage von 's' wรผrde nicht funktionieren, da es kein Feld mit dem Namen gibt. userName gibt.

Start Point

Ein Startpunkt sagt Selenium IDE, in welcher Zeile die Ausfรผhrung beginnen soll. Die Tastenkombination lautet: S.

Startpunkt festgelegt auf einem Selenium IDE-Skriptzeile

Im obigen Beispiel beginnt die Wiedergabe in der dritten Zeile (type | password | invalidPW). Ein Testskript kann nur einen Startpunkt haben. Wie bei โ€žBefehl ausfรผhrenโ€œ hรคngt der Startpunkt von der aktuell angezeigten Seite ab und schlรคgt fehl, wenn die Seite falsch ist.

Haltepunkte

Haltepunkte zeigen Selenium Die IDE kann den Test an einer bestimmten Zeile automatisch anhalten. Die Tastenkombination dafรผr ist B.

Breakpoint-Indikator auf einem Selenium IDE-Skriptzeile

Die gelbe Markierung zeigt den pausierten Schritt an. Ein Testfall kann mehrere Haltepunkte haben.

Schritt

Das Schritt Der Befehl fรผhrt die nรคchste Zeile nach einem pausierten Testfall aus. Verwenden Sie ihn zusammen mit Haltepunkten, um ein Skript Befehl fรผr Befehl durchzugehen.

Der Test wurde bei clickAndWait angehalten, bevor auf Schritt geklickt wurde.

Bevor Sie auf โ€žSchrittโ€œ klicken. Der Testfall ist in der Zeile angehalten. clickAndWait | login.

Nach dem Klicken auf โ€žSchrittโ€œ wurde der Test zum nรคchsten Befehl fortgesetzt.

Nach dem Klicken auf Schritt. Das clickAndWait | login Der Befehl wird ausgefรผhrt und die Ausfรผhrung pausiert beim nรคchsten Befehl (verifyTitle | Sign-on: Mercury ToursDie nรคchste Zeile pausiert auch ohne Haltepunkt โ€“ das ist der Zweck von Step.

Wichtige Dinge, die Sie bei der Verwendung anderer Formate in der Quellansicht beachten sollten

Vorsichtshinweis zu Nicht-HTML-Quelltextansichtsformaten

Selenium IDE 1.x funktioniert zuverlรคssig nur mit dem HTML-Format โ€“ andere Formate sind noch experimentell. Das Erstellen oder Bearbeiten von Tests in der Nicht-HTML-Quelltextansicht wird nicht empfohlen. Folgende Probleme sind in Version 1.9.1 bekannt:

  • Ohne die Rรผckkehr zu HTML kรถnnen Sie weder die Wiedergabefunktion nutzen noch zur Tabellenansicht zurรผckkehren.
  • Die sicherste Methode, Befehle in der Quelltextansicht hinzuzufรผgen, besteht darin, sie aufzuzeichnen.
  • Manuelle ร„nderungen in der Quelltextansicht gehen beim Wechsel zu einem anderen Format verloren.
  • Sie kรถnnen einen Testfall in der Quellcodeansicht speichern, aber Selenium Die IDE kann die Datei mรถglicherweise nicht wieder รถffnen.

Die empfohlene Methode zum Konvertieren von Selenese-Tests in andere Sprachen ist die Datei > Testfall exportieren alsโ€ฆ Menรผ, nicht die Quelltextansicht.

FAQs

Das Vermรคchtnis Firefox-nur Selenium IDE 1.x wird nicht mehr weiterentwickelt. Selenium IDE ist eine Browsererweiterung fรผr Chrome. Firefoxund Edge von selenium.dev, das Aufzeichnung und Wiedergabe sowie den Export in WebDriver-Code unterstรผtzt.

Verwenden Sie Assert fรผr zwingende Vorbedingungen, unter denen der Test nicht fortgesetzt werden kann (z. B. muss zuerst die richtige Seite geladen werden). Verwenden Sie Verify, wenn spรคtere Prรผfungen auch dann noch einen Mehrwert bieten, wenn die aktuelle Prรผfung fehlschlรคgt, beispielsweise die รœberprรผfung mehrerer Felder in einem Formular.

Firebug wurde im Jahr auรŸer Dienst gestellt. Firefox 57. Verwenden Sie die im Browser integrierten Entwicklertools (F12) oder Erweiterungen wie SelectorsHub, ChroPath oder Playwright Inspector, um XPath- und CSS-Locators zu erfassen. Selenium Skripte.

Ja. AI Testplattformen รผberwachen Benutzersitzungen, generieren Selenese-Befehle, schlagen robuste Locators vor und konvertieren aufgezeichnete Skripte in Selenium WebDriver-Code in Java, Pythonden JavaSkript mit deutlich weniger manuellem Aufwand.

Generative KI analysiert DOM-Snapshots und schlรคgt Locators vor, die weniger anfรคllig fรผr Fehler sind โ€“ wobei Datentestattribute gegenรผber fehleranfรคlligem XPath bevorzugt werden. Selbstheilende KI-Agenten รผberschreiben Locators nach UI-ร„nderungen automatisch und halten sie so stabil.ping Selenium IDE-Skripte sind grรผn.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: