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.
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).
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.
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.
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.
Stap 5) Klik op de Aanmelden knop. Firefox Je zou op de onderstaande pagina terecht moeten komen.
Stap 6) TogglDruk op de knop 'Opnemen' om de opname te stoppen. Je script zou er nu ongeveer zo uit moeten zien als hieronder.
Stap 7) Sla nu het opgenomen testscript op. In de Dien in menu, kies Testcase opslaanof druk op Ctrl+S.
Stap 8)
- Kies een bestemmingsmap en geef deze vervolgens een naam. testcase Ongeldige login.
- Klik Opslaan.
Stap 9) Merk op dat het bestand is opgeslagen als HTML.
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.
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.
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.
Stap 2) Klik op de bovenste lege regel in de editor.
Type open Typ de opdracht in het tekstvak en druk op Enter.
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.
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.
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.
Klik op het tekstvak Gebruikersnaam. Firebug toont automatisch het bijbehorende HTML-element.
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.
Nog steeds in de Target veld, voorvoegsel userName with name= so Selenium IDE richt zich op het element waarvan het NAME-attribuut is userName.
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.
Stap 7) Voeg een vierde commando toe door typing type in het veld 'Opdracht'. Gebruik Firebug's Inspecteren knop op het wachtwoordtekstvak.
Plak het NAME-attribuut (password) in de Target veld, voorvoegsel met name=en stel de waarde in op invalidPW.
Stap 8) Voeg het vijfde commando toe door typing clickAndWait in het veld 'Opdracht'. Gebruik Firebug's Inspecteren op de knop 'Inloggen'.
Plak de NAAM-waarde (login) in de Target veld met de name= voorvoegsel.
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.
Klik FindHet tekstvak voor de gebruikersnaam op de Mercury De pagina 'Rondleidingen' wordt kortstondig gemarkeerd.
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.
Stap 2) Media X op het toetsenbord.
Stap 3) Het tekstvak voor de gebruikersnaam op de pagina wordt gevuld met invalidUN.
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.
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.
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.
Voordat je op Stap klikt. De testcase is gepauzeerd op de regel. clickAndWait | login. |
|
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
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.


.png)
.png)
.png)














.png)










.png)
.png)






