Användning Selenium IDE med skript och kommandon (bekräfta, verifiera)

Vi kommer att använda Mercury Tours hemsida som vår webbapplikation under test. Det är ett onlineflygbokningssystem som innehåller alla element vi behöver för denna handledning. Dess URL är https://demo.guru99.com/test/newtours/, och detta kommer att vara vår basadress.

Låt oss nu skapa vårt första testskript i Selenium IDE med den vanligaste metoden – genom att spela in. Efteråt kommer vi att köra vårt skript med hjälp av uppspelningsfunktionen.

Skapa ett skript genom att spela in

steg 1

Skapa ett skript genom att spela in

steg 2

In Firefox, navigera till https://demo.guru99.com/test/newtours/. Firefox bör ta dig till sidan som liknar den som visas nedan.

Skapa ett skript genom att spela in

steg 3

  • Högerklicka på ett tomt utrymme på sidan, som på Mercury Tours logotyp i det övre vänstra hörnet. Detta kommer att ta upp Selenium IDE-kontextmeny. Obs! Klicka inte på några hyperlänkade objekt eller bilder
  • Välj alternativet "Visa tillgängliga kommandon".
  • Välj sedan "assertTitle exact: Welcome: Mercury Turer.” Detta är ett kommando som ser till att sidtiteln är korrekt.

Skapa ett skript genom att spela in

Skapa ett skript genom att spela in

steg 4

  • I textrutan "Användarnamn" för Mercury Tours, skriv ett ogiltigt användarnamn, "invalidUNN".
  • I textrutan "Lösenord" skriver du ett ogiltigt lösenord, "invalidPWD".

Skapa ett skript genom att spela in

Skapa ett skript genom att spela in
steg 5

  • Klicka på knappen "Logga in". Firefox bör ta dig till den här sidan.

Skapa ett skript genom att spela in

steg 6

Toggle inspelningsknappen av för att stoppa inspelningen. Ditt skript ska nu se ut som det som visas nedan.

Skapa ett skript genom att spela in

steg 7

Nu när vi är klara med vårt testskript ska vi spara det i ett testfall. I Arkiv-menyn, välj "Spara testfall". Alternativt kan du helt enkelt trycka på Ctrl+S.

Skapa ett skript genom att spela in

steg 8

  • Välj önskad plats och namnge sedan Testfall som "Invalid_login".
  • Klicka på knappen "Spara".

Skapa ett skript genom att spela in

steg 9

Observera att filen sparades som HTML.

Skapa ett skript genom att spela in

Steg 10) Gå tillbaka till Selenium IDE och klicka på Playback-knappen för att köra hela skriptet. Selenium IDE ska kunna replikera allt felfritt.

Skapa ett skript genom att spela in

Introduktion till Selenium Kommandon – Selenesiska

  • Selenesiska kommandon kan ha upp till maximalt två parametrar: mål och värde.
  • Parametrar krävs inte hela tiden. Det beror på hur många kommandot behöver.

Typer av kommandon

Actions Dessa är kommandon som direkt interagerar med sidelement.

Exempel: kommandot "klicka" är en åtgärd eftersom du direkt interagerar med elementet du klickar på.

Kommandot "typ" är också en åtgärd eftersom du lägger in värden i en textruta, och textrutan visar dem i gengäld. Det finns en tvåvägsinteraktion mellan dig och textrutan.

Tillbehör De är kommandon som låter dig lagra värden till en variabel.

Exempel: kommandot "storeTitle" är en accessor eftersom det bara "läser" sidtiteln och sparar den i en variabel. Den interagerar inte med något element på sidan.

Påståenden De är kommandon som verifierar om ett visst villkor är uppfyllt.

3 typer av påståenden

  • Hävda. När ett "försäkra"-kommando misslyckas, stoppas testet omedelbart.
  • Verifiera. När ett "verifiera"-kommando misslyckas, Selenium IDE loggar detta fel och fortsätter med testkörningen.
  • Vänta på. Innan du fortsätter till nästa kommando, väntar "waitFor"-kommandon först på att ett visst villkor blir sant.
    • Om tillståndet blir sant inom väntetiden går steget över.
    • Om villkoret inte blir sant misslyckas steget. Fel loggas och testkörningen fortsätter till nästa kommando.
    • Som standard är timeoutvärdet inställt på 30 sekunder. Du kan ändra detta i Selenium Dialogrutan IDE-alternativ under fliken Allmänt.

Påstå vs. Verifiera in Selenium

Påstå vs. Verifiera in Selenium

Påstå vs. Verifiera in Selenium

Gemensamma kommandon

Kommando Antal parametrar Description
öppet 0 - 2 Öppnar en sida med en URL.
klicka/klicka och vänta 1 Klickar på ett specificerat element.
typ/typKeys 2 Skriver en sekvens av tecken.
verifyTitle/assertTitle 1 Jämför den faktiska sidtiteln med ett förväntat värde.
verifieraTextPresent 1 Kontrollerar om en viss text finns på sidan.
verifyElementPresent 1 Kontrollerar närvaron av ett visst element.
verifieratabell 2 Jämför innehållet i en tabell med förväntade värden.
waitForPageToLoad 1 Pausar körningen tills sidan laddas helt.
waitForElementPresent 1 Pausar körningen tills det angivna elementet blir närvarande.

Skapa ett skript manuellt med Firebug

Nu ska vi återskapa samma testfall manuellt genom att skriva in kommandona. Den här gången måste vi använda Firebug.

steg 1

Skapa ett skript manuellt med Firebug

Steg 2: Klicka på den översta tomma raden i editorn.

Skapa ett skript manuellt med Firebug

Skriv "öppna" i kommandotextrutan och tryck på Enter.

Skapa ett skript manuellt med Firebug

steg 3

  • Navigera Firefox till vår bas-URL och aktivera Firebug
  • I Selenium IDE Editor, välj den andra raden (raden under kommandot "öppna") och skapa det andra kommandot genom att skriva "assertTitle" i kommandorutan.
  • Använd gärna funktionen för autoslutförande.

Skapa ett skript manuellt med Firebug

steg 4

  • I Firebug utökar du taggen för att visa märka.
  • Klicka på värdet på taggen (som är "Välkommen: Mercury Tours”) och klistra in den på Target fältet i editorn.

Skapa ett skript manuellt med Firebug

steg 5

  • För att skapa det tredje kommandot, klicka på den tredje tomma raden i editorn och knappa in "skriv" i kommandotextrutan.
  • I Firebug klickar du på knappen "Inspektera".

Skapa ett skript manuellt med Firebug

Klicka på textrutan Användarnamn. Observera att Firebug automatiskt visar HTML-koden för det elementet.

Skapa ett skript manuellt med Firebug

steg 6 Observera att textrutan Användarnamn inte har ett ID, men det har ett NAME-attribut. Vi kommer därför att använda dess NAMN som lokaliserare. Kopiera NAME-värdet och klistra in det på Target fält i Selenium ID.

Skapa ett skript manuellt med Firebug

Fortfarande i Target textrutan, prefixet "användarnamn" med "namn =", vilket indikerar det Selenium IDE bör rikta in sig på ett element vars NAME-attribut är "userName".

Skapa ett skript manuellt med Firebug

Skriv "invalidUN" i textrutan Värde för Selenium ID. Ditt testskript ska nu se ut som bilden nedan. Vi är klara med det tredje kommandot. Obs: Istället för invalidUN kan du ange vilken annan textsträng som helst. Men Selenium IDE är skiftlägeskänslig och du skriver värden/attribut precis som i applikationen.

Skapa ett skript manuellt med Firebug

steg 7

  • För att skapa det fjärde kommandot, knappa in "skriv" i kommandotextrutan.
  • Återigen, använd Firebugs "Inspektera"-knapp för att hitta lokaliseringen för textrutan "Lösenord".

Skapa ett skript manuellt med Firebug

  • Klistra in NAME-attributet ("lösenord") på Target fältet och prefixet det med "name="
  • Skriv "invalidPW" i fältet Värde i Selenium ID. Ditt testskript ska nu se ut som bilden nedan.

Skapa ett skript manuellt med Firebug

steg 8

  • För det femte kommandot, skriv "clickAndWait" i kommandotextrutan i Selenium ID.
  • Använd Firebugs "Inspektera"-knapp för att hitta lokaliseringen för "Logga in"-knappen.

Skapa ett skript manuellt med Firebug

  • Klistra in värdet för attributet NAME ("login") på Target textrutan och prefixet "name=".
  • Ditt testskript ska nu se ut som bilden nedan.

Skapa ett skript manuellt med Firebug

Steg 9: Spara testfallet på samma sätt som vi gjorde i föregående avsnitt.

Använda Sök-knappen

Hitta-knappen in Selenium IDE används för att verifiera om det vi hade lagt i Target textrutan är verkligen det korrekta UI-elementet.

Låt oss använda testfallet Invalid_login som vi skapade i föregående avsnitt. Klicka på valfritt kommando med a Target ingång, säg, det tredje kommandot.

Använda Sök-knappen

Klicka på knappen Sök. Observera att textrutan Användarnamn i Mercury Tours-sidan blir markerad för en sekund.

Använda Sök-knappen

Detta indikerar det Selenium IDE kunde detektera och komma åt det förväntade elementet korrekt. Om sökknappen markerade ett annat element eller inget element alls, måste det vara något fel med ditt skript.

Utför kommando

Detta gör att du kan köra vilket enskilt kommando som helst utan att köra hela testfallet. Klicka bara på raden du vill köra och klicka sedan antingen på "Actions > Execute this command" från menyraden eller tryck helt enkelt på "X" på ditt tangentbord.

Steg 1) Se till att din webbläsare är på Mercury Tours hemsida. Klicka på kommandot du vill utföra. I det här exemplet klickar du på "typ | användarnamn | invalidUN”-raden.

Utför kommando

Steg 2) Tryck på "X" på ditt tangentbord.

Steg 3) Observera att textrutan för användarnamn fylls med texten "invalidUN"

Utför kommando

Att utföra kommandon på det här sättet är mycket beroende av sidan som Firefox visas för närvarande. Det betyder att om du provar exemplet ovan med Googles startsida visas istället för Mercury Tours', kommer ditt steg att misslyckas eftersom det inte finns någon textruta med ett "userName"-attribut på Googles hemsida.

Startpunkt

En startpunkt är en indikator som talar om Selenium IDE vilka rader körningen kommer att starta. Dess kortkommando är "S".

Startpunkt

I exemplet ovan kommer uppspelningen att starta på den tredje raden (skriv | lösenord | invalidPW). Du kan bara ha en startpunkt i ett enda testskript.

Startpunkten liknar Execute Command på så sätt att de är beroende av den sida som för närvarande visas. Startpunkten kommer att misslyckas om du är på fel sida.

brytpunkter

Brytpunkter är indikatorer som talar om Selenium IDE där testet ska pausas automatiskt. Genvägstangenten är "B".

brytpunkter

Den gula markeringen betyder att det aktuella steget väntar. Detta bevisar det Selenium IDE har pausat körningen på det steget. Du kan ha flera brytpunkter i ett testfall.

Steg

Det låter dig utföra efterföljande kommandon ett i taget efter att ha pausat testfallet. Låt oss använda scenariot i föregående avsnitt "Bräckpunkter."

Steg

Innan du klickar på "Steg".

Testfallet pausar vid raden "clickAndWait | logga in".

Steg Efter att ha klickat på "Steg".

"clickAndWait | login"-raden körs och pausas till nästa kommando (verifyTitle | Logga in: Mercury rundturer).

Lägg märke till att nästa rad är pausad även om det inte finns någon brytpunkt där. Detta är huvudsyftet med Step-funktionen – den utför de efterföljande kommandona ett i taget för att ge dig mer tid att inspektera resultatet efter varje steg.

Viktiga saker att notera när du använder andra format i källvyn

Viktiga saker att notera när du använder andra format i källvyn

Selenium IDE fungerar bara bra med HTML – andra format är fortfarande i experimentläge. Det är INTE tillrådligt att skapa eller redigera tester med andra format i källvyn eftersom det fortfarande krävs mycket arbete för att göra det stabilt. Nedan är de kända buggarna från och med version 1.9.1.

  • Du kommer inte att kunna utföra uppspelning eller växla tillbaka till tabellvyn om du inte återgår till HTML.
  • Det enda sättet att lägga till kommandon säkert på källkoden är genom att spela in dem.
  • När du ändrar källkoden manuellt kommer allt att gå förlorat när du byter till ett annat format.
  • Även om du kan spara ditt testfall i källvyn, Selenium IDE kommer inte att kunna öppna den.

Det rekommenderade sättet att konvertera Selenese-tester är att använda alternativet "Exportera testfall som..." under Arkiv-menyn, och inte via källvyn.

Sammanfattning

  • Testskript kan skapas antingen genom att spela in eller skriva kommandona och parametrarna manuellt.
  • När man skapar skript manuellt, används Firebug för att hämta lokaliseringen.
  • Sökknappen används för att kontrollera att kommandot kan komma åt rätt element.
  • Tabellvy visar ett testskript i tabellform medan källvy visar det i HTML-format.
  • Att ändra källvyn till ett icke-HTML-format är fortfarande experimentellt.
  • Använd inte källvyn när du skapar tester i andra format. Använd exportfunktionerna istället.
  • Parametrar krävs inte hela tiden. Det beror på kommandot.
  • Det finns tre typer av kommandon:
    • Åtgärder – interagerar direkt med sidelement
    • Accessorer – "läser" en elementegenskap och lagrar den i en variabel
    • Påståenden – jämför ett verkligt värde med ett förväntat
  • Påståenden har tre typer:
    • Påstå – vid misslyckande utförs inte längre efterföljande steg
    • Verifiera – vid misslyckande utförs de efterföljande stegen fortfarande.
    • WaitFor – går över om det angivna villkoret blir sant inom timeoutperioden; annars kommer det att misslyckas
  • De vanligaste kommandona är:
    • öppet
    • klicka/klicka och vänta
    • typ/typKeys
    • verifyTitle/assertTitle
    • verifieraTextPresent
    • verifyElementPresent
    • verifieratabell
    • waitForPageToLoad
    • waitForElementPresent