Lagra variabler, Echo, Alert, PopUp-hantering i Selenium IDE
โก Smart sammanfattning
Lagra kommandon i Selenium IDE sparar runtime-vรคrden i namngivna variabler, echo skriver ut dem till loggen och en dedikerad kommandofamilj hanterar varningar, bekrรคftelsedialogrutor och vรคxling mellan flera webblรคsarfรถnster.
I den hรคr handledningen lรคr du dig kommandona store, echo-kommandot och hantering av varningar och popup-fรถnster. Selenium IDETillsammans omvandlar dessa kommandon ett fast inspelat skript till ett som reagerar pรฅ vad programmet returnerar vid kรถrning.
โ ๏ธ En anmรคrkning om versioner: Skรคrmdumparna nedan kommer frรฅn originalet Firefox-plugin Selenium IDE, och kommandona anvรคnder dess camelCase Selenese-namn. Den nuvarande Chrome, Firefox och Edge-tillรคgget behรฅller samma beteende men skriver de flesta kommandonamn med mellanslag. En kartaping Tabellen visas nรคra slutet av den hรคr artikeln, och alla ursprungliga kommandon och skรคrmdumpar bevaras som publicerade.
Selenium IDE-variabler
HITTA BUTIK
Fรถr att lagra variabler i Selenium IDE, vi anvรคnder lagra kommandot. Illustrationen nedan lagrar vรคrdet โtutorialโ till en variabel med namnet โmyVariableโ.
Fรถr att komma รฅt variabeln, omge den helt enkelt med symbolen ${ โฆ }. Om du till exempel vill ange vรคrdet fรถr "minVariabel" i textrutan "Anvรคndarnamn" i Mercury Tours, ange ${myVariable} i fรคltet Vรคrde.
Ekokommando i Selenium IDE
En lagrad variabel รคr osynlig tills nรฅgot skriver ut den, och det รคr vad missar kommandot gรถr. Det skriver ett meddelande i IDE-loggfรถnstret under uppspelning, vilket gรถr det till det snabbaste sรคttet att bekrรคfta att ett store-kommando fรฅngade det du fรถrvรคntade dig innan du bygger assertions ovanpรฅ det.
Kommandot accepterar bรฅda formerna:
- En bokstavlig strรคng. Sรคtt texten i Target fรคlt, till exempel Inloggningssteget รคr klart, fรถr att markera en kontrollpunkt i ett lรฅngt skript.
- En variabel. Sรคtt ${myVariable} i Target fรคltet och det lagrade vรคrdet skrivs ut istรคllet fรถr namnet.
Tvรฅ vanor gรถr echo mycket mer anvรคndbart รคn det fรถrst verkar. Skriv ut en variabel omedelbart efter store-kommandot som skapar den, sรฅ ett fel รคr traced till avbildningen snarare รคn till pรฅstรฅendet tjugo steg senare. Och lรคgg prefixet fรถr varje meddelande med det steg det tillhรถr, eftersom loggfรถnstret visar varje kommando i en platt lista. Observera att echo bara skriver till loggen โ den รคndrar aldrig sidan och misslyckas aldrig med ett test, sรฅ det รคr sรคkert att lรคmna kvar i ett skript permanent.
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 anvรคnder vi echo-kommandot fรถr att visa vรคrdena fรถr var1 och var2. Basen URL fรถr illustrationen nedan var instรคlld pรฅ Mercury Tours hemsida.
StoreText
Det hรคr kommandot anvรคnds fรถr att lagra den inre texten i ett element i en variabel. Illustrationen nedan lagrar den inre texten i h1-taggen pรฅ Facebooks registreringssida i en variabel med namnet "textVar".
Eftersom det รคr det enda elementet i sitt slag pรฅ sidan รคr det sรคkert att anvรคnda "css=h1" som mรฅl. Bilden nedan visar det. Selenium IDE kunde spara strรคngen "Registrera dig" i variabeln "textVar", eftersom echo skrev ut dess vรคrde korrekt.
Alerts, Popup och Multiple Windows
Aviseringar รค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 mot ett strรคngvรคrde som du angav |
|
assertAlertPresent assertAlertNotPresent |
avgรถr om en varning fรถreligger eller inte |
| storeAlert | hรคmtar varningsmeddelandet och lagrar det i en variabel som du anger |
| storeAlertPresent | returnerar SANT om en varning fรถreligger, annars FALSKT |
|
verifyAlert verifyNotAlert |
hรคmtar meddelandet frรฅn varningen och verifierar om det รคr lika med det strรคngvรคrde 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 klickar automatiskt pรฅ OK-knappen i varningsfรถnstret, sรฅ du kommer inte att kunna se sjรคlva varningen.
- Selenium IDE kan inte hantera varningar som utlรถses inuti sidans onload()-funktion. Den hanterar bara varningar som genereras efter att sidan har laddats helt.
I det hรคr exemplet anvรคnder vi storeAlert-kommandot fรถr att visa att รคven om Selenium IDE visade inte den faktiska varningen, men den kunde fortfarande hรคmta meddelandet.
Steg 1) In Selenium IDE, stรคll in basen URL till http://jsbin.com. Den fullstรคndiga URL รคr http://jsbin.com/usidix. Dessa jsbin-kodavsnitt รคr frรฅn Firefox-plugin-eran och kanske inte lรคngre lรถses; alla sidor med en knapp som utlรถser en varning reproducerar samma resultat.
Steg 2) Skapa skriptet som visas nedan. Kommandot click riktar in sig pรฅ Go!-knappen, storeAlert sparar meddelandet i alertMessage och echo skriver ut det.
Steg 3) Kรถr skriptet och fรถrvรคnta dig inte att se sjรคlva varningen. Loggfรถnstret nedan visar det inspelade meddelandet trots att dialogrutan aldrig var synlig.
bekrรคftelser
Bekrรคftelser รคr popup-fรถnster som visar knapparna OK och AVBRYT, till skillnad frรฅn aviseringar som bara visar OK-knappen. Kommandona du kan anvรคnda fรถr att hantera bekrรคftelser speglar aviseringskommandona.
- hรคvdaBekrรคftelse / hรคvdaInteBekrรคftelse
- hรคvdaBekrรคftelseNรคrvarande / hรคvdaBekrรคftelseInteNรคrvarande
- butiksbekrรคftelse
- storeConfirmationPresent
- verifieraBekrรคftelse / verifieraInteBekrรคftelse
- verifieraBekrรคftelseNรคrvarande / verifieraBekrรคftelseNรคrvarandeEj
Dessutom berรคttar dessa kommandon Selenium vilken knapp du ska vรคlja, OK eller AVBRYT.
- vรคljOkPรฅNรคstaBekrรคftelse / vรคljOkPรฅNรคstaBekrรคftelseOchVรคnta
- vรคljCancelOnNextConfirmation
Placera dessa kommandon innan kommandot som utlรถser bekrรคftelserutan, sรฅ att Selenium IDE vet i fรถrvรคg vilket alternativ det ska vรคlja. ร terigen, du kommer inte att se den faktiska bekrรคftelserutan under skriptkรถrningen.
Lรฅt oss testa en webbsida med en knapp som var kodad fรถr att rapportera om anvรคndaren tryckte pรฅ OK eller AVBRYT.
Steg 1) In Selenium IDE, stรคll in basen URL till http://jsbin.com. Den fullstรคndiga URL รคr http://jsbin.com/enifaf.
Steg 2) Skapa skriptet som visas nedan. Den hรคr gรฅngen trycker vi fรถrst pรฅ OK-knappen.
Steg 3) Kรถr skriptet och observera att du inte ser den faktiska bekrรคftelsen, men webbsidan rapporterar fortfarande vilken knapp Selenium IDE nedtryckt.
Steg 4) Ersรคtt kommandot chooseOkOnNextConfirmation med chooseCancelOnNextConfirmation och kรถr skriptet igen. Sidan rapporterar nu motsatt val.
Flera olika Windows
Om du klickar 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 innan du kan komma รฅt elementen i det. I den รคldre IDE:n anvรคnder du fรถnstrets titel som dess positioner.
Vi anvรคnder kommandot selectWindow fรถr att vรคxla mellan fรถnster.
Vi kommer att anvรคnda lรคnken http://jsbin.com/ocinaj/1, vars titel รคr "Fรถrsta fรถnstret". Hyperlรคnken "hรคr" pรฅ den sidan รถppnar Facebook i ett nytt fรถnster, varefter vi instruerar Selenium IDE fรถr att gรถra fรถljande:
- รverfรถr kontrollen frรฅn moderfรถnstret till det nyligen startade Facebook-fรถnstret med hjรคlp av kommandot selectWindow med fรถnstertiteln som sรถkare.
- Verifiera titeln pรฅ det nya fรถnstret.
- Markera det ursprungliga fรถnstret igen med hjรคlp av kommandot selectWindow med "null" som mรฅl.
- Verifiera titeln pรฅ det valda fรถnstret.
Planen ovan รถversรคtts till den fyrstegssekvens som visas hรคr.
Steg 1) Stรคll in basen URL till http://jsbin.com.
Steg 2) Skapa skriptet som visas nedan.
Vi behรถver kommandot pause fรถr att vรคnta pรฅ att det nyligen startade fรถnstret laddas innan vi kan lรคsa 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.
Kom alltid ihรฅg att om du stรคller in selectWindow-mรฅlet till "null" automatiskt vรคljs det รถverordnade fรถnstret โ i det hรคr fallet fรถnstret dรคr elementet "link=here" finns.
Obs: Facebook har รคndrat sin sidtitel sedan den hรคr handledningen skapades. รndra den fรถrvรคntade titeln i skriptet dรคrefter.
Modern Konst Selenium IDE-ekvivalenter till dessa kommandon
Ocuco-landskapet Firefox-plugin IDE togs ur bruk nรคr Firefox flyttade till WebExtensions-arkitekturen och den nuvarande Chrome, Firefox och Edge-tillรคgget dรถpte om de flesta Selenese-kommandon till ett radavstรฅnd. Beteendet รคr ofรถrรคndrat, sรฅ tabellen nedan รคr allt du behรถver fรถr att lรคsa skripten ovan mot en aktuell installation.
| รldre kommando i den hรคr handledningen | Aktuella Selenium IDE-kommando |
|---|---|
| lagra | lagra |
| missar | missar |
| butikstext | butikstext |
| storeElementPresent | lagra element nรคrvarande (eller hรคvda element nรคrvarande) |
| assertAlert / verifieraAlert | hรคvda varning / verifiera varning |
| vรคljOkVidNรคstaBekrรคftelse | vรคlj ok vid nรคsta bekrรคftelse |
| vรคljCancelOnNextConfirmation | vรคlj avbryt vid nรคsta bekrรคftelse |
| selectWindow (titel som mรฅl) | vรคlj fรถnster med handle=${handle} |
Tvรฅ skillnader รคr vรคrda att nรคmna. Uppmaningar, som den รคldre artikeln inte tar upp, har nu egna kommandon: svar pรฅ nรคsta uppmaning planerar svaret innan dialogrutan visas, och webdriver-svar vid synlig prompt skriver in i en prompt som redan รคr รถppen. Och fรถnsterbytet รคr inte lรคngre beroende av sidtiteln. handtag fรถr butiksfรถnster att fรถrst fรฅnga ett handtag, sedan skicka handtag=${dittHandtag} fรถr att vรคlja fรถnster. Den รคndringen tar bort fellรคget som beskrivs i noteringen ovan, dรคr en webbplats helt enkelt byter namn pรฅ sin sida och skriptet slutar hitta fรถnstret. Den officiella Selenium IDE-projektets webbplats listar den fullstรคndiga aktuella kommandouppsรคttningen.













