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).

Maak een script door op te nemen

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.

Maak een script door op te nemen

Stap 3

  • Klik met de rechtermuisknop op een lege ruimte op de pagina, zoals op het Mercury Tours-logo in de linkerbovenhoek. Dit zal de Selenium IDE-contextmenu. Let op: Klik niet op hyperlinkobjecten of afbeeldingen
  • Selecteer de optie "Beschikbare opdrachten weergeven".
  • Selecteer vervolgens “assertTitle exact: Welkom: Mercury Rondleidingen.” Dit is een commando dat ervoor zorgt dat de paginatitel correct is.

Maak een script door op te nemen

Maak een script door op te nemen

Stap 4

  • In het tekstvak 'Gebruikersnaam' van Mercury Tours, typ een ongeldige gebruikersnaam, "invalidUNN".
  • Typ in het tekstvak "Wachtwoord" een ongeldig wachtwoord: "invalidPWD".

Maak een script door op te nemen

Maak een script door op te nemen
Stap 5

  • Klik op de knop “Aanmelden”. Firefox zou u naar deze pagina moeten brengen.

Maak een script door op te nemen

Stap 6

Toggle de opnameknop uit om de opname te stoppen. Uw script zou er nu uit moeten zien zoals hieronder weergegeven.

Maak een script door op te nemen

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.

Maak een script door op te nemen

Stap 8

  • Kies de gewenste locatie en geef vervolgens de naam op Testgeval als “Invalid_login”.
  • Klik op de knop "Opslaan".

Maak een script door op te nemen

Stap 9

Merk op dat het bestand is opgeslagen als HTML.

Maak een script door op te nemen

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.

Maak een script door op te nemen

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. Wanneer een “assert”-commando mislukt, wordt de test onmiddellijk gestopt.
  • Controleren. Wanneer een “verify”-opdracht mislukt, Selenium IDE registreert deze fout en gaat verder met de testuitvoering.
  • Wachten op. Voordat doorgegaan wordt met het volgende commando, zullen “waitFor”-commando’s eerst wachten tot een bepaalde voorwaarde waar wordt.
    • Als de voorwaarde binnen de wachtperiode waar wordt, is de stap geslaagd.
    • Als de voorwaarde niet waar wordt, mislukt de stap. De fout wordt geregistreerd en de testuitvoering gaat door naar de volgende opdracht.
    • Standaard is de time-outwaarde ingesteld op 30 seconden. U kunt dit wijzigen in de Selenium Dialoogvenster IDE-opties op het tabblad Algemeen.

Beweren versus verifiëren in Selenium

Beweren versus verifiëren in Selenium

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

Maak handmatig een script met Firebug

Stap 2: Klik op de bovenste lege regel in de Editor.

Maak handmatig een script met Firebug

Typ “open” in het tekstvak Opdracht en druk op Enter.

Maak handmatig een script met Firebug

Stap 3

  • Navigeer Firefox naar onze basis-URL en activeer Firebug
  • In de Selenium Selecteer in het IDE Editor-venster de tweede regel (de regel onder de opdracht 'openen') en maak de tweede opdracht door 'assertTitle' in het opdrachtvak te typen.
  • Voel je vrij om de functie voor automatisch aanvullen te gebruiken.

Maak handmatig een script met Firebug

Stap 4

  • Vouw in Firebug het tag om de weer te geven label.
  • Klik op de waarde van de tag (dit is “Welkom: Mercury Tours”) en plak deze op het Target veld in de Editor.

Maak handmatig een script met Firebug

Stap 5

  • Om de derde opdracht te maken, klikt u op de derde lege regel in de Editor en typt u 'type' in het tekstvak Opdracht.
  • Klik in Firebug op de knop "Inspecteren".

Maak handmatig een script met Firebug

Klik op het tekstvak Gebruikersnaam. Let op dat Firebug u automatisch de HTML-code voor dat element laat zien.

Maak handmatig een script met Firebug

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.

Maak handmatig een script met Firebug

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.

Maak handmatig een script met Firebug

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.

Maak handmatig een script met Firebug

Stap 7

  • Om de vierde opdracht te maken, typt u 'type' in het tekstvak Opdracht.
  • Gebruik opnieuw de knop 'Inspecteren' van Firebug om de locator voor het tekstvak 'Wachtwoord' te verkrijgen.

Maak handmatig een script met Firebug

  • Plak het NAME-attribuut (“wachtwoord”) op het Target veld en laat het voorafgaan door “name=”
  • Typ 'invalidPW' in het veld Waarde Selenium IDE. Uw testscript zou er nu uit moeten zien als de onderstaande afbeelding.

Maak handmatig een script met Firebug

Stap 8

  • Voor de vijfde opdracht typt u “clickAndWait” in het tekstvak Opdracht in Selenium IDE.
  • Gebruik de knop "Inspecteren" van Firebug om de locator voor de knop "Aanmelden" te krijgen.

Maak handmatig een script met Firebug

  • Plak de waarde van het NAME-attribuut (“login”) in het Target tekstvak en voeg er “name=” voor toe.
  • Uw testscript zou er nu uit moeten zien als de onderstaande afbeelding.

Maak handmatig een script met Firebug

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.

Met behulp van de knop Zoeken

Klik op de knop Zoeken. Let op dat het tekstvak Gebruikersnaam in de Mercury De pagina Tours wordt even gemarkeerd.

Met behulp van de knop Zoeken

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.

Commando uitvoeren

Stap 2) Druk op "X" op uw toetsenbord.

Stap 3) Merk op dat het tekstvak voor de gebruikersnaam wordt gevuld met de tekst “invalidUN”

Commando uitvoeren

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”.

Startpunt

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”.

breekpunten

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.

Stap voor

Voordat u op 'Stap' klikt.

De testcase pauzeert bij de regel “clickAndWait | Log in".

Stap voor Nadat u op 'Stap' hebt geklikt.

Het bestand “clickAndWait | login”-regel wordt uitgevoerd en pauzeert bij de volgende opdracht (verifyTitle | Sign-on: Mercury Rondleidingen).

Merk op dat de volgende regel wordt gepauzeerd, ook al is er geen breekpunt. Dit is het belangrijkste doel van de Step-functie: het voert de volgende opdrachten één voor één uit, zodat u na elke stap meer tijd heeft om het resultaat te inspecteren.

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

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