Što je Selenium Webdriver?
Selenium Webdriver je zbirka API-ja otvorenog koda koja se koristi za testiranje web aplikacija. Alat Selenium Webdriver koristi se za automatizaciju testiranja web aplikacija kako bi se provjerilo radi li prema očekivanjima ili ne. Uglavnom podržava preglednike poput Firefoxa, Chromea, Safarija i Internet Explorera. Omogućuje vam i izvršavanje testiranja u više preglednika.
WebDriver vam također omogućuje upotrebu programskog jezika za stvaranje testnih skripti (nije moguće u IDE-u Selenium).
Sada možete koristiti uvjetne operacije poput if-then-else ili switch-case. Također možete izvoditi petlje poput "neko vrijeme".
WebDriver podržava sljedeće programske jezike
- Java
- .Neto
- PHP
- Piton
- Perl
- Rubin
Ne morate ih sve znati. Samo trebate biti upućeni u jedno. Međutim, u ovom uputstvu koristit ćemo Javu s Eclipseom kao IDE-om.
Razlika između Selenium RC i Webdriver
Prije pojave WebDrivera 2006. godine postojao je još jedan alat za automatizaciju pod nazivom Selenium Remote Control. I WebDriver i Selenium RC imaju sljedeće značajke:
- Oboje vam omogućuju upotrebu programskog jezika u dizajniranju testnih skripti.
- Oboje vam omogućuju pokretanje testova na različitim preglednicima.
Pa kako se razlikuju? Razgovarajmo o odgovorima.
1. Arhitektura
Arhitektura WebDrivera jednostavnija je od Selenium RC-a .
- Upravlja preglednikom s razine OS-a
- Sve što trebate su IDE vašeg programskog jezika (koji sadrži vaše naredbe Selenium) i preglednik.
Arhitektura Selenium RC-a puno je složenija.
- Prvo morate pokrenuti zasebnu aplikaciju pod nazivom Selenium Remote Control (RC) Server prije nego što započnete testiranje
- Selenium RC poslužitelj djeluje kao "posrednik" između vaših naredbi Selenium i vašeg preglednika
- Kada započnete testiranje, Selenium RC Server "ubrizgava" Javascript program nazvan Selenium Core u preglednik.
- Jednom ubrizgan, Selenium Core počet će primati upute koje RC poslužitelj prenosi od vašeg programa za testiranje.
- Kada se upute dobiju, Selenium Core izvršit će ih kao Javascript naredbe.
- Preglednik će se pridržavati uputa Selenium Core i prenijeti će svoj odgovor na RC poslužitelj.
- RC poslužitelj primit će odgovor preglednika, a zatim će vam prikazati rezultate.
- RC poslužitelj će dohvatiti sljedeću uputu iz vaše testne skripte za ponavljanje cijelog ciklusa.
2. Brzina
WebDriver je brži od Selenium RC jer izravno razgovara s preglednikom i njime upravlja upravljački program vlastitog preglednika.
Selenium RC je sporiji jer koristi Javascript program nazvan Selenium Core. Ova Selenium Core je ona koja izravno kontrolira preglednik, a ne vi.
3. Interakcija iz stvarnog života
WebDriver realizira interakciju s elementima stranice na realniji način. Na primjer, ako imate onemogućeni tekstni okvir na stranici koju ste testirali, WebDriver zaista ne može unijeti nikakvu vrijednost u nju baš kao što to ne može učiniti stvarna osoba.
Selenium Core, baš kao i drugi JavaScript kodovi, može pristupiti onemogućenim elementima. U prošlosti su se selenijevi testeri žalili da je Selenium Core u svoje testove mogao unijeti vrijednosti u onemogućeni tekstni okvir. Razlike u API-ju
4. API

API Selenium RC je zreliji, ali sadrži suvišne i često zbunjujuće naredbe . Na primjer, većinu vremena testeri su zbunjeni trebaju li koristiti type ili typeKeys; ili treba li koristiti click, mouseDown ili mouseDownAt. Još gore, različiti preglednici i svaku od ovih naredbi tumače na različite načine!
API za WebDriver jednostavniji je od Selenium RC-a . Ne sadrži suvišne i zbunjujuće naredbe.
5. Podrška preglednika
WebDriver može podržavati bezglavi preglednik HtmlUnit
HtmlUnit se naziva "bez glave" jer je nevidljivi preglednik - bez GUI-ja.
To je vrlo brz preglednik jer se ne troši vrijeme na čekanje da se elementi stranice učitaju. Ovo ubrzava vaše cikluse izvršavanja testa.
Budući da je korisniku nevidljiv, njime se može upravljati samo automatiziranim sredstvima.
Selenium RC ne može podržavati bezglavi preglednik HtmlUnit. Za rad mu je potreban pravi, vidljivi preglednik.
Ograničenja WebDrivera
WebDriver ne može lako podržati nove preglednike
Imajte na umu da WebDriver djeluje na razini OS-a. Također, imajte na umu da različiti preglednici komuniciraju s OS-om na različite načine. Ako izađe novi preglednik, on može imati drugačiji postupak komunikacije s OS-om u usporedbi s drugim preglednicima. Dakle, WebDriver timu morate dati prilično vremena da smisli taj novi proces prije nego što ga može implementirati u sljedećem izdanju WebDrivera.
Međutim, na WebDriverovom timu programera je da odluče trebaju li podržati novi preglednik ili ne.
Selenium RC ima ugrađeni generator rezultata ispitivanja
Selenium RC automatski generira HTML datoteku rezultata ispitivanja . Format izvješća unaprijed je postavio RC sam. U nastavku pogledajte primjer ovog izvješća.
WebDriver nema ugrađenu naredbu koja automatski generira datoteku rezultata testa . Morali biste se osloniti na izlazni prozor vašeg IDE-a ili sami dizajnirati izvješće koristeći mogućnosti vašeg programskog jezika i pohraniti ga kao tekst, HTML itd.
Sažetak
- WebDriver je alat za testiranje web aplikacija u različitim preglednicima pomoću različitih programskih jezika.
- Sada možete izrađivati moćne testove jer vam WebDriver omogućuje korištenje programskog jezika po vašem izboru pri dizajniranju testova.
- WebDriver je brži od Selenium RC zbog svoje jednostavnije arhitekture.
- WebDriver izravno razgovara s preglednikom, dok je Selenium RC potrebna pomoć RC poslužitelja da bi to učinio.
- WebDriver's API je sažetiji od Selenium RC-a.
- WebDriver može podržati HtmlUnit, dok Selenium RC ne može.
- Jedini nedostaci WebDrivera su:
- Ne može lako podržati nove preglednike , ali Selenium RC može.
- Nema ugrađenu naredbu za automatsko generiranje rezultata ispitivanja.