Tallenna muuttujat, kaiku, hälytys, ponnahdusikkunoiden käsittely Selenium IDE
⚡ Älykäs yhteenveto
Tallenna komennot Selenium IDE tallentaa ajonaikaiset arvot nimettyihin muuttujiin, echo tulostaa ne lokiin ja erillinen komentoperhe käsittelee hälytykset, vahvistusikkunat ja vaihtamisen useiden selainikkunoiden välillä.
Tässä opetusohjelmassa opit tallennuskomennot, kaikukomennon sekä hälytysten ja ponnahdusikkunoiden käsittelyn. Selenium IDEYhdessä nämä komennot muuttavat kiinteän tallennetun komentosarjan sellaiseksi, joka reagoi sovelluksen ajonaikaiseen palauttamaan sisältöön.
⚠️ Huomautus versioista: alla olevat kuvakaappaukset ovat alkuperäisestä Firefox-laajennus Selenium IDE, ja komennot käyttävät sen camelCase-seleeniläisiä nimiä. Nykyinen Chrome, Firefox ja Edge-laajennus säilyttää saman toiminnan, mutta kirjoittaa useimpien komentojen nimet välilyöntein. Karttaping taulukko näkyy tämän artikkelin loppupuolella, ja jokainen alkuperäinen komento ja kuvakaappaus säilytetään julkaistussa muodossaan.
Selenium IDE-muuttujat
Kauppa
Muuttujien tallentamiseen Selenium IDE:ssä käytämme verkkokaupasta komento. Alla olevassa kuvassa arvo ”tutorial” tallennetaan muuttujaan nimeltä ”myVariable”.
Päästäksesi muuttujaan, yksinkertaisesti sulje se ${ … } -symbolin sisään. Esimerkiksi, jos haluat syöttää arvon ”myVariable” ”userName”-tekstikenttään Mercury Tours, kirjoita ${myVariable} Arvo-kenttään.
Kaiutuskomento sisään Selenium IDE
Tallennettu muuttuja on näkymätön, kunnes jokin tulostaa sen, ja sitä se tarkoittaakin. kaiku komento tekee niin. Se kirjoittaa viestin IDE-lokiruutuun toiston aikana, mikä tekee siitä nopeimman tavan varmistaa, että tallennuskomento tallensi odottamasi tiedot, ennen kuin rakennat väitteitä sen päälle.
Komento hyväksyy kumman tahansa muodon:
- Kirjaimellinen merkkijono. Laita teksti kohtaan Target kenttä, esimerkiksi Kirjautumisvaihe suoritettu, merkitäksesi tarkistuspisteen pitkässä skriptissä.
- Muuttuja. Lisää ${myVariable} muuttujaan Target kenttään ja tallennettu arvo tulostetaan nimen sijaan.
Kaksi tapaa tekevät echo-komennosta paljon hyödyllisemmän kuin miltä se aluksi näyttää. Tulosta muuttuja heti sen luoneen store-komennon jälkeen, joten virhe on traced sieppaukseen eikä kaksikymmentä askelta myöhemmin tehtyyn väitteeseen. Ja lisää jokaisen viestin etuliitteeksi vaihe, johon se kuuluu, koska lokiruutu näyttää jokaisen komennon yhdessä tasaisessa luettelossa. Huomaa, että echo kirjoittaa vain lokiin – se ei koskaan muuta sivua eikä koskaan epäonnistu testissä, joten sen voi turvallisesti jättää skriptiin pysyvästi.
StoreElementPresent
Tämä komento tallentaa joko arvon ”true” tai ”false” määritetyn elementin läsnäolosta riippuen. Alla oleva komentosarja tallentaa totuusarvon ”true” muuttujaan ”var1” ja ”false” muuttujaan ”var2”. Varmistaaksemme tämän, käytämme echo-komentoa näyttääksemme muuttujan var1 ja muuttujan var2 arvot. URL alla olevassa kuvassa asetettiin arvoon Mercury Tours kotisivut.
StoreText
Tätä komentoa käytetään elementin sisäisen tekstin tallentamiseen muuttujaan. Alla olevassa kuvassa Facebookin rekisteröitymissivun h1-tagin sisäinen teksti tallennetaan muuttujaan nimeltä "textVar".
Koska se on ainoa laatuaan oleva elementti sivulla, on turvallista käyttää kohteena ”css=h1”. Alla oleva kuva osoittaa, että Selenium IDE pystyi tallentamaan merkkijonon ”Sign Up” ”textVar”-muuttujaan, koska echo tulosti sen arvon oikein.
Hälytykset, ponnahdusikkunat ja useita Windows
Hälytykset ovat luultavasti yksinkertaisin ponnahdusikkunoiden muoto. Yleisin Selenium Hälytysten käsittelyssä käytetyt IDE-komennot ovat seuraavat:
| Hälytykset | käytät |
|---|---|
|
AsserAlert assertNotAlert |
hakee hälytyksen viestin ja asettaa sen määrittämääsi merkkijonoarvoa vasten |
|
assertAlertPresent assertAlertNotPresent |
vahvistaa, onko hälytys läsnä vai ei |
| varastohälytys | hakee hälytysviestin ja tallentaa sen määrittämääsi muuttujaan |
| storeAlertPresent | palauttaa arvon TRUE, jos hälytys on läsnä, muuten FALSE |
|
vahvista Alert verifyNotAlert |
hakee hälytyksen viestin ja tarkistaa, onko se yhtä suuri kuin määrittämäsi merkkijonoarvo |
|
verifyAlertPresent verifyAlertNotPresent |
tarkistaa, onko hälytys läsnä vai ei |
Muista nämä kaksi asiaa, kun työskentelet hälytysten kanssa:
- Selenium IDE napsauttaa automaattisesti hälytysikkunan OK-painiketta, joten et näe varsinaista hälytystä.
- Selenium IDE ei pysty käsittelemään sivun onload()-funktion sisällä laukaistuja hälytyksiä. Se käsittelee vain hälytyksiä, jotka luodaan sivun latautumisen jälkeen.
Tässä esimerkissä käytämme storeAlert-komentoa osoittaaksemme, että vaikka Selenium IDE ei näyttänyt varsinaista hälytystä, mutta se pystyi silti hakemaan viestin.
Vaihe 1) In Selenium IDE, aseta perusarvo URL osoitteeseen http://jsbin.com. Täysi URL on http://jsbin.com/usidix. Nämä jsbin-koodinpätkät ovat peräisin ajalta Firefox-laajennusten aikakausi eikä välttämättä enää ratkea; kaikki sivut, joilla on hälytyksen aiheuttava painike, toistavat saman tuloksen.
Vaihe 2) Luo alla olevan kaltainen skripti. click-komento kohdistuu Go!-painikkeeseen, storeAlert tallentaa viestin alertMessage-viestiin ja echo tulostaa sen.
Vaihe 3) Suorita komentosarja äläkä odota näkeväsi varsinaista hälytystä. Alla oleva lokiruutu näyttää siepatun viestin, vaikka valintaikkuna ei ollut koskaan näkyvissä.
vahvistukset
Vahvistukset ovat ponnahdusikkunoita, joissa on OK- ja PERUUTA-painikkeet, toisin kuin hälytykset, joissa on vain OK-painike. Vahvistusten käsittelyssä käytettävät komennot vastaavat hälytyskomentoja.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- varaston vahvistus
- StoreConfirmationPresent
- verifyConfirmation / verifyNotConfirmation
- verifyConfirmationPresent / verifyConfirmationNotPresent
Lisäksi nämä komennot kertovat Selenium kumpi painike valitaan, OK vai PERUUTA.
- valitseOkSeuraavaVahvistus / valitseOkSeuraavaVahvistusJaOdota
- valitseCancelOnNextConfirmation
Aseta nämä komennot ennen komento, joka laukaisee vahvistusruudun, jotta Selenium IDE tietää etukäteen, minkä vaihtoehdon valita. Jälleen kerran, et näe varsinaista vahvistusruutua skriptin suorituksen aikana.
Testataan verkkosivua, jonka painike on koodattu ilmoittamaan, painoiko käyttäjä OK vai PERUUTA.
Vaihe 1) In Selenium IDE, aseta perusarvo URL osoitteeseen http://jsbin.com. Täysi URL on http://jsbin.com/enifaf.
Vaihe 2) Luo skripti alla olevan kuvan mukaisesti. Tällä kertaa painamme ensin OK-painiketta.
Vaihe 3) Suorita skripti ja huomaa, ettet näe varsinaista vahvistusta, mutta verkkosivu ilmoittaa silti, mikä painike on valittuna. Selenium IDE-näppäintä painettu.
Vaihe 4) Korvaa chooseOkOnNextConfirmation-komento chooseCancelOnNextConfirmation-komennolla ja suorita skripti uudelleen. Sivu raportoi nyt päinvastaisen vaihtoehdon.
moninkertainen Windows
Jos napsautat linkkiä, joka avaa erillisen ikkunan, sinun on ensin annettava ohjeet Selenium IDE:ssä ikkunan valitsemiseksi ennen kuin sen sisällä olevia elementtejä voi käyttää. Vanhassa IDE:ssä ikkunan otsikkoa käytetään sen paikallistajana.
Käytämme selectWindow-komentoa vaihtaaksemme ikkunoiden välillä.
Käytämme linkkiä http://jsbin.com/ocinaj/1, jonka otsikko on ”First Window”. Sivun ”here”-linkki avaa Facebookin uudessa ikkunassa, minkä jälkeen ohjeet ovat seuraavat: Selenium IDE suorittaa seuraavat toimet:
- Siirrä hallinta pääikkunasta juuri käynnistettyyn Facebook-ikkunaan käyttämällä selectWindow-komentoa, jossa ikkunan otsikko on paikallistaja.
- Tarkista uuden ikkunan otsikko.
- Valitse alkuperäinen ikkuna uudelleen käyttämällä selectWindow-komentoa, jonka kohteena on ”null”.
- Tarkista valitun ikkunan otsikko.
Yllä oleva suunnitelma muuntuu tässä esitetyksi nelivaiheiseksi sarjaksi.
Vaihe 1) Aseta pohja URL osoitteeseen http://jsbin.com.
Vaihe 2) Luo skripti alla olevan kuvan mukaisesti.
Tarvitsemme pause-komennon odottaaksemme juuri käynnistetyn ikkunan latautumista ennen kuin voimme lukea sen otsikon.
Vaihe 3) Suorita käsikirjoitus. Huomaa, että testitapaus läpäisty, mikä tarkoittaa, että pystyimme vaihtamaan ikkunoiden välillä ja tarkistamaan niiden otsikot onnistuneesti.
Muista aina, että selectWindow-kohteen asettaminen arvoon ”null” valitsee automaattisesti pääikkunan – tässä tapauksessa ikkunan, jossa elementti ”link=here” sijaitsee.
Huomautus: Facebook on muuttanut sivunsa otsikkoa tämän tutoriaalin luomisen jälkeen. Muokkaa odotettua otsikkoa skriptissä vastaavasti.
Moderni Selenium Näiden komentojen IDE-vastineet
Firefox-plugin IDE poistettiin käytöstä, kun Firefox siirretty WebExtensions-arkkitehtuuriin ja nykyiseen Chromeen, Firefox ja Edge-laajennus nimesi useimmat Selenese-komennot uudelleen rivivälein kirjoitetuiksi komennoista. Toiminta ei ole muuttunut, joten alla oleva taulukko riittää lukemaan yllä olevat skriptit nykyistä asennusta vasten.
| Tämän opetusohjelman vanha komento | Nykyinen Selenium IDE-komento |
|---|---|
| verkkokaupasta | verkkokaupasta |
| kaiku | kaiku |
| myymäläTeksti | tallentaa tekstin |
| StoreElementPresent | tallennuselementti läsnä (tai assert-elementti läsnä) |
| assertAlert / verifyAlert | vahvistaa hälytyksen / vahvistaa hälytyksen |
| ValitseOkSeuraavaVahvistus | valitse ok seuraavalla vahvistuksella |
| valitseCancelOnNextConfirmation | valitse peruuta seuraavalla vahvistuksella |
| selectWindow (otsikko kohteena) | valitse ikkuna, jonka kahva on ${kahva} |
Kaksi eroa on syytä mainita. Kehotteilla, joita vanha artikkeli ei käsittele, on nyt omat komentonsa: vastaa seuraavalla kehotteella suunnittelee vastauksen ennen valintaikkunan avautumista ja webdriver-vastaus näkyvässä kehotteessa kirjoittaa jo avoimeen kehotteeseen. Ja ikkunanvaihto ei enää ole riippuvainen sivun otsikosta. Suorita myymälän ikkunan kahva kaapata ensin kahva ja sitten siirtää kahva=${sinunKahva} ikkunan valitsemiseksi. Tämä muutos poistaa yllä olevassa huomautuksessa kuvatun virhetilan, jossa sivusto yksinkertaisesti nimeää sivunsa uudelleen ja komentosarja lakkaa löytämästä ikkunaa. Virallinen Selenium IDE-projektisivusto listaa koko nykyisen komentosarjan.













