Mikä on Selenium Webdriver?
Selenium Webdriver on avoimen lähdekoodin API-kokoelma, jota käytetään verkkosovellusten testaamiseen. Selenium Webdriver -työkalua käytetään automatisoimaan verkkosovellusten testausta sen varmistamiseksi, että se toimii odotetulla tavalla tai ei. Se tukee pääasiassa selaimia, kuten Firefox, Chrome, Safari ja Internet Explorer. Se sallii myös suorittaa selainten välisen testauksen.
WebDriver mahdollistaa myös ohjelmointikielen käyttämisen testikoodien luomisessa (ei mahdollista Selenium IDE: ssä).
Voit nyt käyttää ehdollisia toimintoja, kuten if-then-else tai switch-case. Voit myös suorittaa silmukan kuten do-while.
WebDriver tukee seuraavia ohjelmointikieliä
- Java
- .Netto
- PHP
- Python
- Perl
- Rubiini
Sinun ei tarvitse tuntea kaikkia niitä. Sinun tarvitsee vain olla perehtynyt yhteen. Tässä opetusohjelmassa käytämme kuitenkin Java: ta ja Eclipseä IDE: nä.
Ero Selenium RC: n ja Webdriverin välillä
Ennen WebDriverin tuloa vuonna 2006 oli toinen automaatiotyökalu nimeltä Selenium Remote Control. Sekä WebDriverilla että Selenium RC: llä on seuraavat ominaisuudet:
- Molempien avulla voit käyttää ohjelmointikieltä testiskriptien suunnittelussa.
- Molempien avulla voit suorittaa testisi eri selaimissa.
Joten miten ne eroavat toisistaan? Keskustelkaamme vastauksista.
1. Arkkitehtuuri
WebDriverin arkkitehtuuri on yksinkertaisempi kuin Selenium RC: n .
- Se ohjaa selainta käyttöjärjestelmän tasolla
- Tarvitset vain ohjelmointikielesi IDE: n (joka sisältää Selenium-komennot) ja selaimen.
Selenium RC: n arkkitehtuuri on paljon monimutkaisempi.
- Sinun on ensin käynnistettävä erillinen sovellus nimeltä Selenium Remote Control (RC) Server ennen testauksen aloittamista
- Selenium RC -palvelin toimii "välittäjänä" Selenium-komentojesi ja selaimesi välillä
- Kun aloitat testauksen, Selenium RC Server "injektoi" selaimeen Javascript-ohjelman nimeltä Selenium Core .
- Kun se on pistetty, Selenium Core alkaa vastaanottaa RC-palvelimen välittämiä ohjeita testiohjelmastasi.
- Kun ohjeet on vastaanotettu, Selenium Core suorittaa ne Javascript-komentoina.
- Selain noudattaa Selenium Core -ohjeita ja välittää vastauksensa RC-palvelimelle.
- RC-palvelin vastaanottaa selaimen vastauksen ja näyttää tulokset sinulle.
- RC-palvelin hakee seuraavan käskyn testikomentojesi kautta toistamaan koko syklin.
2. Nopeus
WebDriver on nopeampi kuin Selenium RC, koska se puhuu suoraan selaimelle käyttää selaimen omaa moottoria sen hallintaan.
Selenium RC on hitaampi, koska se käyttää Javascript-ohjelmaa nimeltä Selenium Core. Tämä Selenium Core on se, joka ohjaa suoraan selainta, et sinä.
3. Tosielämän vuorovaikutus
WebDriver on vuorovaikutuksessa sivuelementtien kanssa realistisemmalla tavalla. Esimerkiksi, jos testattavalla sivulla on poistettu käytöstä tekstikenttä, WebDriver ei todellakaan voi kirjoittaa siihen mitään arvoa aivan kuten todellinen henkilö ei.
Selenium Core, kuten muutkin JavaScript-koodit, voi käyttää poistettuja elementtejä. Aiemmin seleenin testaajat valittivat, että Selenium Core pystyi syöttämään arvoja testeissäan poistettuun tekstikenttään. Erot API: ssa
4. API

Selenium RC: n sovellusliittymä on kypsempi, mutta sisältää irtisanomisia ja usein hämmentäviä komentoja . Esimerkiksi testaajat ovat useimmiten hämmentyneitä siitä, käyttävätkö ne tyyppiä tai typeKeys; vai käytetäänkö click, mouseDown vai mouseDownAt. Mikä pahempaa, eri selaimet tulkitsevat jokaista näistä komennoista myös eri tavoin!
WebDriverin sovellusliittymä on yksinkertaisempi kuin Selenium RC: n . Se ei sisällä tarpeettomia ja hämmentäviä komentoja.
5. Selaintuki
WebDriver tukee Headless HtmlUnit -selainta
HTML-yksikköä kutsutaan "päättömäksi", koska se on näkymätön selain - se ei ole käyttöliittymää.
Se on erittäin nopea selain, koska sivuelementtien lataamisen odottamiseen ei kulu aikaa. Tämä nopeuttaa testin suorittamisjaksoja.
Koska sitä ei näy käyttäjälle, sitä voidaan hallita vain automaattisilla keinoilla.
Selenium RC ei tue Headless HtmlUnit -selainta. Se tarvitsee todellisen, näkyvän selaimen toimiakseen.
WebDriverin rajoitukset
WebDriver ei voi helposti tukea uusia selaimia
Muista, että WebDriver toimii käyttöjärjestelmän tasolla. Muista myös, että eri selaimet kommunikoivat käyttöjärjestelmän kanssa eri tavoin. Jos uusi selain tulee ulos, sillä voi olla erilainen prosessi kommunikoida käyttöjärjestelmän kanssa kuin muilla selaimilla. Joten sinun on annettava WebDriver-tiimille melko vähän aikaa selvittää uusi prosessi, ennen kuin he voivat toteuttaa sen seuraavassa WebDriver-julkaisussa.
WebDriver-kehittäjien tiimin on kuitenkin päätettävä, tukevatko he uutta selainta vai eivät.
Selenium RC: ssä on sisäänrakennettu testitulosgeneraattori
Selenium RC luo automaattisesti HTML-tiedoston testituloksista . RC itse määritteli raportin muodon ennalta. Katso alla olevaa esimerkkiä tästä raportista.
WebDriverilla ei ole sisäänrakennettua komentoa, joka luo automaattisesti testitulostiedoston . Sinun pitäisi luottaa IDE: n lähtöikkunaan tai suunnitella raportti itse ohjelmointikielesi ominaisuuksien avulla ja tallentaa se tekstinä, HTML: nä jne.
Yhteenveto
- WebDriver on työkalu verkkosovellusten testaamiseen eri selaimissa eri ohjelmointikielillä.
- Pystyt nyt tekemään tehokkaita testejä, koska WebDriver antaa sinun käyttää valitsemaasi ohjelmointikieltä testien suunnittelussa.
- WebDriver on nopeampi kuin Selenium RC yksinkertaisemman arkkitehtuurinsa vuoksi.
- WebDriver puhuu suoraan selaimen kanssa, kun Selenium RC tarvitsee RC-palvelimen apua.
- WebDriverin sovellusliittymä on suppeampi kuin Selenium RC: n.
- WebDriver tukee HTML-yksikköä, kun taas Selenium RC ei.
- Ainoat WebDriverin haitat ovat:
- Se ei voi helposti tukea uusia selaimia , mutta Selenium RC voi.
- Siinä ei ole sisäänrakennettua komentoa testitulosten automaattista tuottamista varten.