Gebruiksaanwijzing Selenium IDE met scripts en opdrachten (beweren, verifiëren)
We zullen gebruik maken van de Mercury Tours-website als onze webapplicatie die wordt getest. Het is een online vluchtreserveringssysteem dat alle elementen bevat die we nodig hebben voor deze tutorial. De URL is https://demo.guru99.com/test/newtours/, en dit zal onze basis-URL zijn.
Laten we nu ons eerste testscript maken Selenium IDE met behulp van de meest gebruikelijke methode: door op te nemen. Daarna zullen we ons script uitvoeren met behulp van de afspeelfunctie.
Maak een script door op te nemen
Stap 1
- Lancering Firefox en Selenium IDE.
- Typ de waarde voor onze basis-URL: https://demo.guru99.com/test/newtours/.
- TogglSchakel de knop Opnemen in (als deze nog niet standaard is ingeschakeld).
Stap 2
In Firefox, navigeren naar https://demo.guru99.com/test/newtours/. Firefox zou u naar de pagina moeten brengen die lijkt op de pagina hieronder. |
|
Stap 3
|
|
Stap 4
|
|
Stap 5
|
|
Stap 6
Toggle de opnameknop uit om de opname te stoppen. Uw script zou er nu uit moeten zien zoals hieronder weergegeven. |
|
Stap 7
Nu we klaar zijn met ons testscript, zullen we het opslaan in een testcase. In het menu Bestand selecteert u ‘Testcase opslaan’. U kunt ook eenvoudigweg op Ctrl+S drukken. |
|
Stap 8
|
|
Stap 9
Merk op dat het bestand is opgeslagen als HTML. |
Stap 10) Ga terug naar Selenium IDE en klik op de knop Afspelen om het hele script uit te voeren. Selenium IDE zou alles feilloos moeten kunnen repliceren.
Proef de Selenium Commando's - Selenees
- Selenese-opdrachten kunnen maximaal twee parameters bevatten: doel en waarde.
- Parameters zijn niet altijd vereist. Het hangt af van hoeveel de opdracht nodig heeft.
Soorten opdrachten
Acties | Dit zijn opdrachten die rechtstreeks communiceren met pagina-elementen.
Voorbeeld: het commando “klik” is een actie omdat u rechtstreeks communiceert met het element waarop u klikt. De opdracht "type" is ook een actie omdat u waarden in een tekstvak invoert en het tekstvak ze aan u toont. Er is een tweerichtingsinteractie tussen u en het tekstvak. |
---|---|
Accessoires | Het zijn opdrachten waarmee u waarden in een variabele kunt opslaan.
Voorbeeld: het commando “storeTitle” is een accessor omdat het alleen de paginatitel “leest” en deze in een variabele opslaat. Het heeft geen interactie met enig element op de pagina. |
Beweringen | Het zijn commando's die verifiëren of aan een bepaalde voorwaarde is voldaan.
3 soorten beweringen
|
Beweren versus verifiëren in Selenium
Gemeenschappelijke commando's
commando | Aantal parameters | BESCHRIJVING |
---|---|---|
open | 0 - 2 | Opent een pagina met behulp van een URL. |
klik/klikEnWacht | 1 | Klikt op een opgegeven element. |
type/typetoetsen | 2 | Typt een reeks tekens. |
verificatieTitel/assertTitel | 1 | Vergelijkt de werkelijke paginatitel met een verwachte waarde. |
verifieerTextPresent | 1 | Controleert of een bepaalde tekst op de pagina wordt aangetroffen. |
verificatieElementPresent | 1 | Controleert de aanwezigheid van een bepaald element. |
verifieerTabel | 2 | Vergelijkt de inhoud van een tabel met verwachte waarden. |
waitForPageToLoad | 1 | Pauzeert de uitvoering totdat de pagina volledig is geladen. |
waitForElementPresent | 1 | Pauzeert de uitvoering totdat het opgegeven element aanwezig is. |
Maak handmatig een script met Firebug
Nu zullen we dezelfde testcase handmatig opnieuw creëren door de commando's in te typen. Deze keer zullen we Firebug moeten gebruiken.
Stap 1
|
Stap 2: Klik op de bovenste lege regel in de Editor. |
Typ “open” in het tekstvak Opdracht en druk op Enter. |
Stap 3
|
Stap 4
|
Stap 5
|
Klik op het tekstvak Gebruikersnaam. Let op dat Firebug u automatisch de HTML-code voor dat element laat zien. |
Stap 6 Let op dat het tekstvak Gebruikersnaam geen ID heeft, maar wel een NAAM-attribuut. We zullen daarom de NAAM als locator gebruiken. Kopieer de NAAM-waarde en plak deze op de Target veld in Selenium IDE.
Nog steeds in de Target tekstvak, voeg “name=” toe als voorvoegsel voor “gebruikersnaam”, om aan te geven dat Selenium IDE moet zich richten op een element waarvan het NAME-attribuut 'userName' is. Typ "invalidUN" in het tekstvak Waarde van Selenium IDE. Uw testscript zou er nu uit moeten zien als de onderstaande afbeelding. We zijn klaar met het derde commando. Opmerking: in plaats van invalidUN kunt u een andere tekstreeks invoeren. Maar Selenium IDE is hoofdlettergevoelig en u typt waarden/kenmerken precies zoals in de toepassing. |
Stap 7
|
Stap 8
|
Stap 9: Bewaar de testcase op dezelfde manier als in de vorige sectie.
Met behulp van de knop Zoeken
De knop Zoeken in Selenium IDE wordt gebruikt om te verifiëren of wat we in het Target tekstvak is inderdaad het juiste UI-element.
Laten we de Invalid_login-testcase gebruiken die we in de vorige secties hebben gemaakt. Klik op een commando met een Target voer bijvoorbeeld het derde commando in.
Klik op de knop Zoeken. Let op dat het tekstvak Gebruikersnaam in de Mercury De pagina Tours wordt even gemarkeerd.
Dit geeft aan dat Selenium IDE kon het verwachte element correct detecteren en openen. Als de knop Zoeken een ander element of helemaal geen element markeert, moet er iets mis zijn met uw script.
Commando uitvoeren
Hierdoor kunt u elk afzonderlijk commando uitvoeren zonder de hele testcase uit te voeren. Klik gewoon op de regel die u wilt uitvoeren en klik vervolgens op "Acties> Deze opdracht uitvoeren" in de menubalk of druk eenvoudigweg op "X" op uw toetsenbord.
Stap 1) Zorg ervoor dat uw browser op de Mercury Homepagina van rondleidingen. Klik op de opdracht die u wilt uitvoeren. In dit voorbeeld klikt u op het “type | gebruikersnaam | invalidUN” regel.
Stap 2) Druk op "X" op uw toetsenbord.
Stap 3) Merk op dat het tekstvak voor de gebruikersnaam wordt gevuld met de tekst “invalidUN”
Het op deze manier uitvoeren van opdrachten is sterk afhankelijk van de pagina waarop Firefox wordt momenteel weergegevenDit betekent dat als u het bovenstaande voorbeeld probeert met de Google-startpagina weergegeven in plaats van Mercury Tours', dan zal uw stap mislukken omdat er geen tekstvak met het kenmerk 'gebruikersnaam' op de startpagina van Google staat.
Startpunt
Een startpunt is een indicator die vertelt Selenium IDE op welke regels de uitvoering zal starten. De sneltoets is “S”.
In het bovenstaande voorbeeld begint het afspelen op de derde regel (type | wachtwoord | invalidPW). U kunt slechts één startpunt hebben in één testscript.
Het startpunt is vergelijkbaar met Execute Command, in die zin dat ze afhankelijk zijn van de momenteel weergegeven pagina. Het startpunt mislukt als u zich op de verkeerde pagina bevindt.
breekpunten
Breekpunten zijn indicatoren die iets vertellen Selenium IDE waar de test automatisch kan worden gepauzeerd. De sneltoets is “B”.
De gele markering betekent dat de huidige stap in behandeling is. Dit bewijst dat Selenium IDE heeft de uitvoering van die stap gepauzeerd. U kunt meerdere breekpunten in één testgeval hebben.
Stap voor
Hiermee kunt u opeenvolgende opdrachten één voor één uitvoeren nadat u de testcase hebt gepauzeerd. Laten we het scenario uit de vorige paragraaf ‘Breekpunten’ gebruiken.
Belangrijke zaken om op te letten bij het gebruik van andere formaten in de bronweergave
Selenium IDE werkt alleen goed met HTML; andere formaten bevinden zich nog in de experimentele modus. Het is Niet adviseerbaar om tests te maken of te bewerken met andere formaten in de Bronweergave, omdat er nog veel werk nodig is om het stabiel te maken. Hieronder staan de bekende bugs vanaf versie 1.9.1.
- U kunt het afspelen niet uitvoeren en ook niet terugschakelen naar de tabelweergave, tenzij u terugkeert naar HTML.
- De enige manier om opdrachten veilig aan de broncode toe te voegen, is door ze op te nemen.
- Wanneer u de broncode handmatig wijzigt, gaat deze geheel verloren wanneer u overschakelt naar een ander formaat.
- Hoewel u uw testcase kunt opslaan in de Bronweergave, Selenium IDE kan het niet openen.
De aanbevolen manier om Selenese-tests te converteren is door de optie "Testcase exporteren als..." te gebruiken onder het menu Bestand, en niet via de bronweergave.
Samenvatting
- Testscripts kunnen worden gemaakt door de opdrachten en parameters handmatig op te nemen of te typen.
- Wanneer u handmatig scripts maakt, wordt Firebug gebruikt om de locator op te halen.
- De knop Zoeken wordt gebruikt om te controleren of de opdracht toegang heeft tot het juiste element.
- Tabelweergave geeft een testscript in tabelvorm weer, terwijl Bronweergave het in HTML-indeling weergeeft.
- Het wijzigen van de bronweergave naar een niet-HTML-indeling is nog experimenteel.
- Gebruik de bronweergave niet bij het maken van tests in andere formaten. Gebruik in plaats daarvan de exportfuncties.
- Parameters zijn niet altijd vereist. Het hangt van het commando af.
- Er zijn drie soorten opdrachten:
- Acties – werkt rechtstreeks samen met pagina-elementen
- Accessors – “leest” een elementeigenschap en slaat deze op in een variabele
- Asserties – vergelijkt een werkelijke waarde met een verwachte waarde
- Beweringen hebben drie soorten:
- Beweren – als het mislukt, worden de daaropvolgende stappen niet langer uitgevoerd
- Controleer – bij falen worden de daaropvolgende stappen nog steeds uitgevoerd.
- WaitFor – slaagt als de opgegeven voorwaarde binnen de time-outperiode waar wordt; anders mislukt het
- De meest voorkomende commando's zijn:
- open
- klik/klikEnWacht
- type/typetoetsen
- verificatieTitel/assertTitel
- verifieerTextPresent
- verificatieElementPresent
- verifieerTabel
- waitForPageToLoad
- waitForElementPresent