Gem variabler, ekko, alarm, popup-håndtering i Selenium IDE
I denne tutorial lærer vi Gem kommandoer, Ekko-kommandoer, Alerts og Popup-håndtering.
Selenium IDE-variabler
Butik
For at gemme variabler i Selenium IDE, bruger vi kommandoen "store". Illustrationen nedenfor gemmer værdien "tutorial" til en variabel med navnet "myVariable."
For at få adgang til variablen skal du blot omslutte den i et ${ … }-symbol. For eksempel for at indtaste værdien af "myVariable" i "brugernavn" tekstboksen til Mercury Tours, indtast ${myVariable} i feltet Værdi.
StoreElementPresent
Denne kommando gemmer enten "sand" eller "falsk" afhængigt af tilstedeværelsen af det angivne element. Scriptet nedenfor gemmer den boolske værdi "true" til "var1" og "false" til "var2". For at verificere vil vi bruge kommandoen "echo" til at vise værdierne for var1 og var2. Basis-URL'en for illustrationen nedenfor blev sat til Mercury Tours hjemmeside.
StoreTekst
Denne kommando bruges til at gemme den indre tekst af et element på en variabel. Illustrationen nedenfor gemmer den indre tekst af tagget i Facebook på en variabel med navnet 'textVar'.
Da det er det eneste element på siden, er det sikkert at bruge 'css=h1' som vores mål. Billedet nedenfor viser det Selenium IDE var i stand til at gemme strengen "Sign Up" i 'textVar'-variablen ved at udskrive dens værdi korrekt.
Alerts, Popup og Multiple Windows
Advarsler er nok den enkleste form for pop op-vinduer. Den mest almindelige Selenium IDE-kommandoer, der bruges til at håndtere advarsler, er følgende:
Advarsler | Du bruger |
---|---|
assertAlert assertNotAlert |
henter beskeden om advarslen og hævder den til en strengværdi, som du har angivet |
assertAlertPresent assertAlertNotPresent |
hævder, om en advarsel er til stede eller ej |
storeAlert | henter advarselsmeddelelsen og gemmer den i en variabel, som du vil angive |
storeAlertPresent | returnerer TRUE, hvis en advarsel er til stede; FALSK hvis andet |
verifyAlert verifyNotAlert |
henter beskeden fra advarslen og verificerer, om den er lig med den strengværdi, du har angivet |
verifyAlertPresent verifyAlertNotPresent |
verificerer, om en advarsel er til stede eller ej |
Husk disse to ting, når du arbejder med advarsler:
- Selenium IDE vil automatisk klikke på OK-knappen i advarselsvinduet, og du vil derfor ikke kunne se den faktiske advarsel.
- Selenium IDE vil ikke være i stand til at håndtere advarsler, der er inden for sidens onload()-funktion. Den vil kun kunne håndtere advarsler, der genereres, efter at siden er fuldstændig indlæst.
I dette eksempel vil vi bruge kommandoen storeAlert til at vise det selvom Selenium IDE viste ikke den faktiske advarsel, den var stadig i stand til at hente sin besked.
Trin 1) In Selenium IDE, indstil base-URL'en til http://jsbin.com. & den fulde url er: http://jsbin.com/usidix
Trin 2) Opret scriptet som vist nedenfor.
Trin 3) Udfør scriptet og forvent ikke, at du vil være i stand til at se selve advarslen.
bekræftelser
Bekræftelser er popup-vinduer, der giver dig en OK- og en CANCEL-knap, i modsætning til advarsler, der kun giver dig OK-knappen. De kommandoer, du kan bruge til at håndtere bekræftelser, ligner dem, du håndterer alarmer.
- assertConfirmation/assertNotConfirmation
- assertConfirmationPresent/assertConfirmationNotPresent
- butiksbekræftelse
- butikConfirmationPresent
- verifyConfirmation/verifyNotConfirmation
- verifyConfirmationPresent/verifyConfirmationNotPresent
Dette er dog de ekstra kommandoer, du skal bruge til at instruere Selenium hvilken mulighed du skal vælge, om knappen OK eller CANCEL.
- vælgOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
- vælgCancelOnNextConfirmation
Du bør bruge disse kommandoer før en kommando, der udløser bekræftelsesboksen, således at Selenium IDE vil på forhånd vide, hvilken mulighed der skal vælges. Igen vil du ikke være i stand til at se den faktiske bekræftelsesboks under scriptudførelse.
Lad os teste en webside, der har en knap, der er kodet for at vise, om brugeren har trykket på OK- eller CANCEL-knappen.
Trin 1) In Selenium IDE, indstil base-URL'en til http://jsbin.com
& den fulde url er: http://jsbin.com/enifaf
Trin 2) Opret scriptet som vist nedenfor. Denne gang trykker vi først på OK-knappen.
Trin 3) Udfør scriptet og bemærk, at du ikke kan se den faktiske bekræftelse, men websiden var i stand til at angive, hvilken knap Selenium IDE havde trykket.
Trin 4) Erstat kommandoen "chooseOkOnNextConfirmation" med "chooseCancelOnNextConfirmation" og udfør scriptet igen.
Multiple Windows
Hvis du tilfældigvis klikker på et link, der åbner et separat vindue, skal du først instruere Selenium IDE for at vælge det vindue først, før du kunne få adgang til elementerne i det. For at gøre dette skal du bruge vinduets titel som dets locator.
Vi bruger kommandoen selectWindow til at skifte mellem vinduer.
Vi vil bruge et link http://jsbin.com/ocinaj/1, hvis titel er "First Window." Hyperlinket "her" på den side åbner Facebook i et nyt vindue, hvorefter vi instruerer Selenium IDE for at gøre følgende:
- Overfør kontrol fra forældrevinduet til det nyligt lancerede Facebook-vindue ved hjælp af kommandoen "selectWindow" og dets titel som lokalisering
- Bekræft titlen på det nye vindue
- Vælg det oprindelige vindue tilbage ved at bruge kommandoen "selectWindow" og "null" som mål.
- Bekræft titlen på det aktuelt valgte vindue
Trin 1) Indstil base-URL'en til http://jsbin.com.
Trin 2) Opret scriptet som vist nedenfor.
Vi har brug for kommandoen "pause" for at vente på, at det nyligt lancerede vindue indlæses, før vi kunne få adgang til dets titel.
Trin 3) Udfør scriptet. Bemærk, at Test sag bestået, hvilket betyder, at vi var i stand til at skifte mellem vinduer og bekræfte deres titler med succes.
Husk altid, at indstilling af selectWindows mål til "null" vil automatisk vælge det overordnede vindue (i dette tilfælde vinduet, hvor elementet "link=here" findes)
Bemærk: Facebook har ændret titlen siden oprettelsen af Tutorials. Rediger venligst koden i overensstemmelse hermed
Resumé
- Kommandoen "store" (og alle dens varianter) bruges til at gemme variabler i Selenium IDE
- Kommandoen "ekko" bruges til at udskrive en strengværdi eller en variabel
- Variabler er indeholdt i en ${…}, når de udskrives eller bruges på elementer
- Selenium IDE trykker automatisk på OK-knappen ved håndtering af advarsler
-
Når du håndterer bekræftelsesdialoger, kan du instruere Selenium IDE hvilken mulighed du skal bruge:
- vælgOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
- vælgCancelOnNextConfirmation
- Vinduestitler bruges som lokalisatorer, når du skifter mellem browservinduer.
- Når du bruger kommandoen "selectWindow", indstilles Target til "null" vil automatisk dirigere Selenium IDE for at vælge det overordnede vindue.