Assert & Verify in Selenium IDE

โšก Slimme samenvatting

Selenium Met IDE with Scripts and Commands kunnen testers browseracties opnemen, bewerken en afspelen met Selenese, de lichtgewicht commandotaal van de IDE. Dit artikel behandelt het opnemen van een script, het handmatig schrijven van Selenese, de keuze tussen Assert en Verify, en debuggen met breakpoints.

  • ๐ŸŽฌ Record First: Selenium IDE registreert automatisch klikken, invoer en beweringen terwijl u de browser gebruikt.
  • ๐Ÿงฉ Selenese taal: Elk commando heeft een commandonaam, een optioneel doel en een optionele waarde โ€” nooit meer dan twee parameters.
  • ๐Ÿ›‘ Beweren versus verifiรซren: Assert stopt de test bij een fout; Verify registreert de fout en gaat verder met de volgende stap.
  • ๐Ÿ” Drie soorten opdrachten: Acties interageren met de pagina, Accessors lezen de status in variabelen, Assertions controleren voorwaarden.
  • ๐Ÿž Hulpmiddelen voor foutopsporing: Gebruik de opties 'Opdracht uitvoeren', 'Startpunt', 'Breekpunten' en 'Stap' om een โ€‹โ€‹enkele opdracht tegelijk te inspecteren of opnieuw uit te voeren.
  • ๐Ÿค– AI-boost: AI-testtools genereren automatisch Selenese, suggereren robuuste locators en converteren IDE-scripts naar Selenium WebDriver-code.

Hoe kraak je een wachtwoord?

We zullen gebruik maken van de Mercury De website van Tours dient als onze webapplicatie die we testen. Het is een online vluchtreserveringssysteem dat alle elementen bevat die we voor deze handleiding nodig hebben. De basis ervan is... URL is https://demo.guru99.com/test/newtours/.

Laten we nu ons eerste testscript maken Selenium We gebruiken de meest gebruikelijke methode in de IDE: opnemen. Daarna voeren we het script uit met behulp van de afspeelfunctie.

Let op: Deze handleiding maakt gebruik van de klassieke methode. Firefox-enkel en alleen Selenium IDE 1.x met Firebug om de basisprincipes van Selenese te introduceren. Firebug werd in 2011 uitgefaseerd. Firefox 57, en de moderne Selenium IDE is nu een Chrome / Firefox / Edge-browserextensie met een andere gebruikersinterface. De onderstaande Selenese-concepten, commandotypes en debugfuncties zijn nog steeds direct van toepassing op de nieuwe IDE.

Maak een script door op te nemen

Stap 1)

  • Lancering Firefox en Selenium IDE.
  • Voer de waarde in voor onze basis. URL: https://demo.guru99.com/test/newtours/.
  • TogglSchakel de opnameknop in (als deze niet standaard is ingeschakeld).

Selenium IDE met Base URL De knop 'Instellen' en 'Opnemen' zijn ingeschakeld.

Stap 2) In Firefox, navigeren naar https://demo.guru99.com/test/newtours/. Firefox Je zou op een pagina terecht moeten komen die lijkt op de onderstaande.

Mercury Startpagina van de rondleidingen in Firefox

Stap 3)

  • Klik met de rechtermuisknop op een lege ruimte op de pagina, bijvoorbeeld op de Mercury Het Tours-logo in de linkerbovenhoek. Dit opent het volgende scherm: Selenium IDE-contextmenu. Niet Klik op een van de hyperlinks naar een afbeelding.
  • Selecteer het Toon beschikbare commando's optie.
  • Kies assertTitle exact: Welcome: Mercury ToursDeze opdracht controleert of de paginatitel correct is.

Selenium IDE-contextmenu met 'Beschikbare opdrachten weergeven'

Selenium IDE-editor toont de toegevoegde opdracht assertTitle

Stap 4)

  • In de Gebruikersnaam tekstvak van Mercury Tours, typ de ongeldige gebruikersnaam invalidUNN.
  • In de Wachtwoord Typ in het tekstvak het ongeldige wachtwoord. invalidPWD.

Ongeldige gebruikersnaam ingevoerd Mercury Rondleidingen

Ongeldig wachtwoord ingevoerd Mercury Rondleidingen

Stap 5) Klik op de Aanmelden knop. Firefox Je zou op de onderstaande pagina terecht moeten komen.

Mercury Pagina voor mislukte aanmelding bij rondleidingen

Stap 6) TogglDruk op de knop 'Opnemen' om de opname te stoppen. Je script zou er nu ongeveer zo uit moeten zien als hieronder.

Selenium IDE heeft het script na de stop opgenomen.ping de recorder

Stap 7) Sla nu het opgenomen testscript op. In de Dien in menu, kies Testcase opslaanof druk op Ctrl+S.

De optie 'Testcase opslaan' in de Selenium IDE-bestandmenu

Stap 8)

  • Kies een bestemmingsmap en geef deze vervolgens een naam. testcase Ongeldige login.
  • Klik Opslaan.

Sla het dialoogvenster op met de naamgeving Selenium IDE-testcase Invalid_login

Stap 9) Merk op dat het bestand is opgeslagen als HTML.

Opgeslagen testcasebestand met HTML-extensie

Stap 10) Keer terug naar Selenium IDE en klik op Afspelen knop om het hele script uit te voeren. Selenium IDE voert elke actie nauwkeurig opnieuw uit.

Selenium IDE-afspeelknop die het opgenomen script uitvoert

Proef de Selenium Commando's - Selenees

Selenese is de scripttaal die de basis vormt voor Selenese. Selenium IDE. De regels zijn simpel:

  • Elk Selenese-commando accepteert maximaal twee parameters: een doel en waarde.
  • Parameters zijn niet altijd vereist. Het aantal hangt af van de opdracht.

Soorten opdrachten

Selenese groepeert commando's in drie categorieรซn. Elke categorie heeft een andere rol in het script.

Acties Opdrachten die rechtstreeks interactie hebben met pagina-elementen. Voorbeeld: click interacteert met het element waarop je klikt; type Een waarde wordt in een tekstvak ingevoerd en het tekstvak geeft die waarde vervolgens weer, waardoor een tweewegsinteractie ontstaat.
Accessoires Opdrachten die een waarde in een variabele opslaan. Voorbeeld: storeTitle Het programma leest alleen de paginatitel en slaat deze op; er wordt niets op de pagina zelf gewijzigd.
Beweringen Commando's die een voorwaarde verifiรซren. Selenese biedt drie soorten beweringen: Beweren De test wordt gestopt bij een fout. Controleren registreert de fout en gaat verder, en Wachten op pauzeert totdat aan een voorwaarde is voldaan (standaard time-out 30 seconden, instelbaar onder Opties > Algemeen).

Beweren versus verifiรซren in Selenium

De onderstaande diagrammen laten het verschil zien tussen het runtimegedrag van een Assert- en een Verify-opdracht wanneer de controle tijdens de test mislukt.

Assert-opdrachtgedrag stoppenping de test bij falen

Controleer het gedrag van de opdracht en ga door met de test na een geregistreerde fout.

Gemeenschappelijke commando's

commando Aantal parameters Beschrijving
open 0-2 Opent een pagina met behulp van een URL.
klik / klikEnWacht 1 Klikt op een specifiek element.
type / typeKeys 2 Typt een reeks tekens.
verifyTitle / assertTitle 1 Vergelijkt de werkelijke paginatitel met een verwachte waarde.
verifieerTextPresent 1 Controleert of een bepaalde tekst op de pagina voorkomt.
verificatieElementPresent 1 Controleert de aanwezigheid van een specifiek element.
verifieerTabel 2 Vergelijkt de inhoud van een tabel met verwachte waarden.
waitForPageToLoad 1 De uitvoering wordt gepauzeerd totdat de pagina volledig is geladen.
waitForElementPresent 1 De uitvoering wordt gepauzeerd totdat het opgegeven element verschijnt.

Maak handmatig een script met Firebug

Laten we nu dezelfde testcase handmatig opnieuw maken door typing de commando's. Deze handleiding gebruikt Firebug om elementlocators te inspecteren. (In de moderne Selenium (Gebruik in een IDE de ingebouwde ontwikkelaarstools van de browser in plaats van Firebug.)

Stap 1) Open Firefox en Selenium IDE. Typ de basis URL https://demo.guru99.com/test/newtours/De opnameknop moet UIT staan.

Selenium IDE-opnameschakelaar in UIT-stand

Stap 2) Klik op de bovenste lege regel in de editor.

Door de eerste lege rij in de te selecteren Selenium IDE-editor

Type open Typ de opdracht in het tekstvak en druk op Enter.

Open-opdracht ingevoerd in de Selenium IDE-opdrachtveld

Stap 3) Navigeer Firefox naar de basis URL en activeer Firebug. Selecteer in de IDE-editor de regel onder de open opdracht en type assertTitleGebruik de suggesties voor automatisch aanvullen voor meer nauwkeurigheid.

Automatische aanvullingssuggesties voor assertTitle in Selenium IDE

Stap 4) In Firebug, vouw de <head> label om te onthullen <title>Klik op de titelwaarde (Welkom: Mercury Rondleidingen) en plak het in de Target veld in de Editor.

De paginatitel kopiรซren vanuit Firebug naar het doelveld van de IDE.

Stap 5) Klik op de derde lege regel in de editor en typ type in het veld 'Opdracht'. Klik in Firebug op de Inspecteren knop.

Het type commando dat wordt toegevoegd in Selenium IDE-editor

Klik op het tekstvak Gebruikersnaam. Firebug toont automatisch het bijbehorende HTML-element.

Firebug inspecteert het veld Gebruikersnaam op Mercury Rondleidingen

Stap 6) Het tekstvak Gebruikersnaam heeft geen ID, maar wel een NAME-attribuut. Kopieer de NAME-waarde en plak deze in het tekstvak. Target gebied van Selenium IDE.

Het NAME-attribuut van het veld Gebruikersnaam kopiรซren

Nog steeds in de Target veld, voorvoegsel userName with name= so Selenium IDE richt zich op het element waarvan het NAME-attribuut is userName.

Selenium IDE-doelveld met naam=userName-locator

Type invalidUN in het veld Waarde. Je script heeft nu zijn derde opdracht. Selenium IDE is hoofdlettergevoelig, dus typ waarden en attribuutnamen exact zoals ze in de applicatie voorkomen.

Typ de opdracht gericht op naam=gebruikersnaam met de waarde ongeldigeUN

Stap 7) Voeg een vierde commando toe door typing type in het veld 'Opdracht'. Gebruik Firebug's Inspecteren knop op het wachtwoordtekstvak.

Firebug inspecteert het wachtwoordveld.

Plak het NAME-attribuut (password) in de Target veld, voorvoegsel met name=en stel de waarde in op invalidPW.

Selenium IDE-script na het toevoegen van de wachtwoordtypeopdracht

Stap 8) Voeg het vijfde commando toe door typing clickAndWait in het veld 'Opdracht'. Gebruik Firebug's Inspecteren op de knop 'Inloggen'.

Firebug inspecteert de aanmeldknop.

Plak de NAAM-waarde (login) in de Target veld met de name= voorvoegsel.

Definitieve handleiding Selenium IDE-script met vijf commando's

Stap 9) Sla de testcase op zoals voorheen.

Met behulp van de knop Zoeken

De Find knoop binnen Selenium IDE bevestigt dat de ingevoerde waarde correct is. Target Het veld komt daadwerkelijk overeen met een UI-element op de pagina.

Open de Ongeldige login testcase uit de vorige sectie en klik op een willekeurige opdracht met een Target invoer โ€” bijvoorbeeld het derde commando.

Zoek de knop naast de Target veld in Selenium IDE

Klik FindHet tekstvak voor de gebruikersnaam op de Mercury De pagina 'Rondleidingen' wordt kortstondig gemarkeerd.

Het veld Gebruikersnaam is gemarkeerd in Firefox na het klikken op Zoeken

De samenvatting bevestigt dat Selenium De IDE heeft de locator correct herkend. Als het verkeerde element (of geen element) wordt gemarkeerd, moet de locator in het script worden gecorrigeerd.

Commando uitvoeren

Met 'Execute Command' wordt รฉรฉn regel van het script uitgevoerd zonder de hele testcase te doorlopen. Klik op de lijn die u wilt uitvoeren en kies vervolgens een van de volgende opties: Acties > Voer dit commando uit via het menu of druk op X op het toetsenbord.

Stap 1) Zorg ervoor dat de browser is ingeschakeld. Mercury Startpagina van de rondleidingen. Klik op de route die u wilt lopen โ€” bijvoorbeeld, type | userName | invalidUN.

Typ de opdracht die u wilt uitvoeren in Selenium IDE

Stap 2) Media X op het toetsenbord.

Stap 3) Het tekstvak voor de gebruikersnaam op de pagina wordt gevuld met invalidUN.

Het veld Gebruikersnaam wordt ingevuld na het uitvoeren van de opdracht.

Het uitvoeren van opdrachten op deze manier is afhankelijk van de pagina die Firefox wordt momenteel weergegeven. Hetzelfde commando uitvoeren op GoogleDe homepage van zou niet werken omdat er geen veld met de naam bestaat. userName er.

Startpunt

Een beginpunt geeft aan Selenium IDE: vanaf welke regel de uitvoering moet beginnen. De sneltoets is S.

Startpunt ingesteld op een Selenium IDE-scriptregel

In het bovenstaande voorbeeld begint de weergave op de derde regel (type | password | invalidPW). Een testscript kan slechts รฉรฉn startpunt hebben. Net als bij 'Execute Command' is het startpunt afhankelijk van de momenteel weergegeven pagina en mislukt het als de pagina onjuist is.

breekpunten

Breekpunten geven aan Selenium IDE om de test automatisch te pauzeren op een bepaalde regel. De sneltoets is B.

Breakpoint-indicator op een Selenium IDE-scriptregel

De gele markering geeft de gepauzeerde stap aan. Een testcase kan meerdere breakpoints bevatten.

Stap voor

De Stap voor Deze opdracht voert de volgende regel uit na een gepauzeerde testcase. Gebruik hem in combinatie met breakpoints om een โ€‹โ€‹script stap voor stap te doorlopen.

De test is gepauzeerd bij clickAndWait voordat op Step werd geklikt.

Voordat je op Stap klikt. De testcase is gepauzeerd op de regel. clickAndWait | login.

Test door naar de volgende opdracht na het klikken op Stap

Na het klikken op Stap. De clickAndWait | login Het commando wordt uitgevoerd en de uitvoering pauzeert bij het volgende commando (verifyTitle | Sign-on: Mercury Tours). De volgende regel pauzeert zelfs zonder breakpoint โ€” dat is het doel van Step.

Belangrijke zaken om op te letten bij het gebruik van andere formaten in de bronweergave

Waarschuwing met betrekking tot niet-HTML-broncodeweergaveformaten.

Selenium IDE 1.x werkt alleen betrouwbaar met het HTML-formaat; andere formaten zijn nog in de experimentele fase. Het is niet aan te raden om tests te maken of te bewerken in de niet-HTML-broncodeweergave. De bekende problemen vanaf versie 1.9.1 zijn:

  • Je kunt de afspeelfunctie niet gebruiken of terugschakelen naar de tabelweergave zonder terug te keren naar HTML.
  • De veiligste manier om opdrachten toe te voegen in de broncodeweergave is door ze op te nemen.
  • Handmatige bewerkingen in de bronweergave gaan verloren wanneer u naar een ander formaat overschakelt.
  • Je kunt een testcase opslaan in de broncodeweergave, maar Selenium Het is mogelijk dat de IDE het bestand niet opnieuw kan openen.

De aanbevolen manier om Selenese-tests naar andere talen te converteren is de Bestand > Testcase exporteren alsโ€ฆ menu, niet de broncodeweergave.

Veelgestelde vragen

De nalatenschap Firefox-enkel en alleen Selenium IDE 1.x wordt niet langer onderhouden. De moderne versie is beschikbaar. Selenium IDE is een browserextensie voor Chrome. Firefoxen Edge van selenium.dev, met ondersteuning voor opnemen en afspelen, plus exporteren naar WebDriver-code.

Gebruik Assert voor strikte voorwaarden waarbij de test niet verder kan (bijvoorbeeld, de juiste pagina moet eerst geladen worden). Gebruik Verify wanneer latere controles nog steeds waarde toevoegen, zelfs als de huidige controle mislukt, zoals bij het controleren van meerdere velden in een formulier.

Firebug werd met pensioen gestuurd in Firefox 57. Gebruik de ingebouwde ontwikkelaarstools van de browser (F12) of extensies zoals SelectorsHub, ChroPath of Playwright Inspector om XPath- en CSS-locators vast te leggen voor Selenium scripts.

Ja. AI Testplatforms monitoren gebruikerssessies, genereren Selenese-opdrachten, suggereren robuuste locators en converteren opgenomen scripts naar Selenium WebDriver-code in Java, Pythonof JavaScripten met aanzienlijk minder handmatige inspanning.

Generatieve AI analyseert DOM-snapshots en stelt locators voor die minder snel kapotgaan โ€” waarbij de voorkeur wordt gegeven aan data-testattributen boven de kwetsbare XPath. Zelfherstellende AI-agents herschrijven automatisch locators na UI-wijzigingen, waardoor de functionaliteit behouden blijft.ping Selenium IDE-scripts groen.

Vat dit bericht samen met: