Lagra variabler, Echo, Alert, PopUp-hantering i Selenium IDE

I den här handledningen kommer vi att lära oss lagra kommandon, ekokommandon, varningar och popup-hantering.

Selenium IDE-variabler

HITTA BUTIK

För att lagra variabler i Selenium IDE använder vi kommandot "store". Illustrationen nedan lagrar värdet "tutorial" till en variabel som heter "myVariable."

Selenium IDE-variabler

För att komma åt variabeln, omslut den helt enkelt i en ${ … }-symbol. Till exempel, för att ange värdet för "myVariable" i textrutan "användarnamn" för Mercury Tours, ange ${myVariable} i fältet Värde.

Selenium IDE-variabler

StoreElementPresent

Detta kommando lagrar antingen "true" eller "false" beroende på närvaron av det angivna elementet. Skriptet nedan lagrar det booleska värdet "true" till "var1" och "false" till "var2". För att verifiera kommer vi att använda kommandot "echo" för att visa värdena för var1 och var2. Bas-URL:n för illustrationen nedan var inställd på Mercury Tours hemsida.

StoreElementPresent

StoreText

Detta kommando används för att lagra den inre texten i ett element i en variabel. Illustrationen nedan lagrar den inre texten i taggen i Facebook i en variabel som heter "textVar".

StoreText

Eftersom det är det enda elementet på sidan är det säkert att använda 'css=h1' som vårt mål. Bilden nedan visar det Selenium IDE kunde spara strängen "Sign Up" i variabeln 'textVar' genom att skriva ut dess värde korrekt.

StoreText

Alerts, Popup och Multiple Windows

Varningar är förmodligen den enklaste formen av popup-fönster. Den vanligaste Selenium IDE-kommandon som används för att hantera varningar är följande:

Varningar du använder

assertAlert

assertNotAlert

hämtar meddelandet från varningen och bekräftar det till ett strängvärde som du angett

assertAlertPresent

assertAlertNotPresent

hävdar om en varning finns eller inte
storeAlert hämtar varningsmeddelandet och lagrar det i en variabel som du anger
storeAlertPresent returnerar TRUE om en varning finns; FALSK om annat

verifyAlert

verifyNotAlert

hämtar meddelandet från varningen och verifierar om det är lika med strängvärdet som du angav

verifyAlertPresent

verifyAlertNotPresent

verifierar om en varning finns eller inte

Kom ihåg dessa två saker när du arbetar med varningar:

  • Selenium IDE kommer automatiskt att klicka på OK-knappen i varningsfönstret, så du kommer inte att kunna se den faktiska varningen.
  • Selenium IDE kommer inte att kunna hantera varningar som finns inom sidans onload()-funktion. Den kommer bara att kunna hantera varningar som genereras efter att sidan har laddats helt.

I det här exemplet kommer vi att använda kommandot storeAlert för att visa det även om Selenium IDE visade inte själva varningen, den kunde fortfarande hämta sitt meddelande.

Steg 1) In Selenium IDE, ställ in basadressen till http://jsbin.com. & hela webbadressen är: http://jsbin.com/usidix

Steg 2) Skapa skriptet som visas nedan.

Alerts, Popup och Multiple Windows

Steg 3) Kör skriptet och förvänta dig inte att du kommer att kunna se själva varningen.

Alerts, Popup och Multiple Windows

bekräftelser

Bekräftelser är popup-fönster som ger dig en OK- och en CANCEL-knapp, till skillnad från varningar som bara ger dig OK-knappen. De kommandon du kan använda för att hantera bekräftelser liknar dem för att hantera varningar.

  • assertConfirmation/assertNotConfirmation
  • assertConfirmationPresent/assertConfirmationNotPresent
  • butiksbekräftelse
  • storeConfirmationPresent
  • verifyConfirmation/verifyNotConfirmation
  • verifyConfirmationPresent/verifyConfirmationNotPresent

Detta är dock de ytterligare kommandon som du behöver använda för att instruera Selenium vilket alternativ att välja, om OK eller CANCEL-knappen.

  • väljOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
  • väljCancelOnNextConfirmation

Du bör använda dessa kommandon före ett kommando som utlöser bekräftelserutan så att Selenium IDE kommer att veta i förväg vilket alternativ som ska väljas. Återigen kommer du inte att kunna se den faktiska bekräftelserutan under körning av skript.

Låt oss testa en webbsida som har en knapp som är kodad för att visa om användaren har tryckt på OK- eller AVBRYT-knappen.

Steg 1) In Selenium IDE, ställ in basadressen till http://jsbin.com

& hela webbadressen är: http://jsbin.com/enifaf

Steg 2) Skapa skriptet som visas nedan. Den här gången trycker vi på OK-knappen först.

bekräftelser

Steg 3) Kör skriptet och märk att du inte ser den faktiska bekräftelsen, men webbsidan kunde indikera vilken knapp Selenium IDE hade tryckt.

bekräftelser

Steg 4) Byt ut kommandot "chooseOkOnNextConfirmation" med "chooseCancelOnNextConfirmation" och kör skriptet igen.

bekräftelser

Flera olika Windows

Om du råkar klicka på en länk som öppnar ett separat fönster måste du först instruera Selenium IDE för att välja det fönstret först innan du kunde komma åt elementen i det. För att göra detta använder du fönstrets titel som dess lokalisering.

Vi använder kommandot selectWindow för att växla mellan fönster.

Vi kommer att använda en länk http://jsbin.com/ocinaj/1 vars titel är "Första fönstret." Hyperlänken "här" som finns på den sidan öppnar Facebook i ett nytt fönster, varefter vi kommer att instruera Selenium IDE för att göra följande:

  • Överför kontrollen från föräldrafönstret till det nystartade Facebook-fönstret med kommandot "selectWindow" och dess titel som lokalisering
  • Verifiera titeln på det nya fönstret
  • Välj tillbaka det ursprungliga fönstret med kommandot "selectWindow" och "null" som mål.
  • Verifiera titeln på det för närvarande valda fönstret

Flera olika Windows

Steg 1) Ställ in basadressen till http://jsbin.com.

Steg 2) Skapa skriptet som visas nedan.

Flera olika Windows

Vi behöver kommandot "pausa" för att vänta på att det nystartade fönstret ska laddas innan vi kan komma åt dess titel.

Steg 3) Kör skriptet. Lägg märke till att Testfall godkänd, vilket innebär att vi kunde växla mellan fönster och verifiera deras titlar framgångsrikt.

Flera olika Windows

Kom alltid ihåg att om du ställer in selectWindows mål till "null" kommer det överordnade fönstret automatiskt att väljas (i det här fallet fönstret där elementet "länk=här" finns)

Notera: Facebook har ändrat titeln sedan skapandet av Tutorials. Vänligen ändra koden i enlighet med detta

Sammanfattning

  • Kommandot "lagra" (och alla dess varianter) används för att lagra variabler i Selenium IDE
  • Kommandot "echo" används för att skriva ut ett strängvärde eller en variabel
  • Variabler är inneslutna i en ${…} när de skrivs ut eller används på element
  • Selenium IDE trycker automatiskt på OK-knappen när du hanterar varningar
  • När du hanterar bekräftelsedialoger kan du instruera Selenium IDE vilket alternativ att använda:
    • väljOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
    • väljCancelOnNextConfirmation
  • Fönstertitlar används som lokalisatorer när du växlar mellan webbläsarfönster.
  • När du använder kommandot "selectWindow", ställer du in Target till "null" kommer automatiskt att dirigera Selenium IDE för att välja det överordnade fönstret.