Mis on seleeni veebidraiver?
Selenium Webdriver on avatud lähtekoodiga API-kogum, mida kasutatakse veebirakenduste testimiseks. Seleniumi veebidraiveri tööriista kasutatakse veebirakenduste testimise automatiseerimiseks, et kontrollida, kas see töötab ootuspäraselt või mitte. See toetab peamiselt selliseid brausereid nagu Firefox, Chrome, Safari ja Internet Explorer. See võimaldab teil käivitada ka brauseriteülese testimise.
WebDriver võimaldab teil testskriptide loomisel kasutada ka programmeerimiskeelt (see pole Selenium IDE-s võimalik).
Nüüd saate kasutada tingimuslikke toiminguid nagu if-then-else või switch-case. Võite teha ka loopimist nagu do-while.
Järgmisi programmeerimiskeeli toetab WebDriver
- Java
- .Net
- PHP
- Python
- Perl
- Rubiin
Te ei pea neid kõiki tundma. Peate lihtsalt teadma ühes. Selles õpetuses kasutame IDE-na siiski Java koos Eclipse'iga.
Selenium RC ja Webdriveri erinevus
Enne WebDriveri tulekut 2006. aastal oli olemas veel üks automaatika tööriist nimega Selenium Remote Control. Nii WebDriveril kui ka Selenium RC-l on järgmised funktsioonid:
- Mõlemad võimaldavad testskriptide kujundamisel kasutada programmeerimiskeelt .
- Mõlemad võimaldavad teil teste käivitada erinevate brauserite vastu.
Kuidas nad siis erinevad? Arutagem vastuste üle.
1. Arhitektuur
WebDriveri arhitektuur on lihtsam kui Selenium RC-d .
- See kontrollib brauserit OS-i tasemelt
- Vaja on ainult teie programmeerimiskeele IDE-d (mis sisaldab teie seleenikäske) ja brauserit.
Selenium RC arhitektuur on palju keerulisem.
- Enne testimise alustamist peate kõigepealt käivitama eraldi rakenduse Selenium Remote Control (RC) Server
- Selenium RC Server toimib teie seleenikäskude ja brauseri vahel "vahendajana"
- Testimist alustades "süstib" Selenium RC Server brauserisse JavaScripti programmi Selenium Core .
- Pärast süstimist hakkab Selenium Core saama RC-serverilt teie testprogrammist edastatud juhiseid.
- Kui juhised on kätte saadud, täidab Selenium Core need Javascripti käskudena.
- Brauser täidab Selenium Core juhiseid ja edastab oma vastuse RC-serverile.
- RC-server saab brauseri vastuse ja kuvab siis tulemused teile.
- RC Server toob teie tsüklist järgmise käsu kogu tsükli kordamiseks.
2. Kiirus
WebDriver on kiirem kui Selenium RC, kuna see räägib otse brauseriga, kasutab selle juhtimiseks brauseri enda mootorit.
Selenium RC on aeglasem, kuna see kasutab Javascripti programmi nimega Selenium Core. See seleenituum juhib otse brauserit, mitte teid.
3. Reaalse elu suhtlemine
WebDriver suhtleb lehe elementidega realistlikumalt. Näiteks kui teil on testitud lehel keelatud tekstikast, ei saa WebDriver sellesse tõesti väärtust sisestada, nagu seda ei saa teha päris inimene.
Selenium Core, nagu ka teised JavaScripti koodid, pääseb juurde keelatud elementidele. Varem kurdavad seleeni testijad, et Selenium Core suutis oma testides puudega tekstikasti väärtusi sisestada. API erinevused
4. API

Selenium RC API on küpsem, kuid sisaldab koondamisi ja sageli segaseid käske . Näiteks on testijad enamasti segaduses, kas nad kasutavad tüüpi või typeKeys; või kas kasutada click, mouseDown või mouseDownAt. Veelgi hullem, erinevad brauserid tõlgendavad kõiki neid käske ka erineval viisil!
WebDriveri API on lihtsam kui Selenium RC-d . See ei sisalda üleliigseid ja segaseid käske.
5. Brauseri tugi
WebDriver saab toetada peata HtmlUniti brauserit
HtmlUniti nimetatakse "peata", kuna see on nähtamatu brauser - see ei sisalda GUI-d.
See on väga kiire brauser, sest lehelementide laadimise ootamisele ei kulutata aega. See kiirendab teie testi täitmise tsükleid.
Kuna see on kasutajale nähtamatu, saab seda juhtida ainult automatiseeritud vahenditega.
Selenium RC ei toeta peata HtmlUniti brauserit. See vajab toimimiseks tõelist nähtavat brauserit.
WebDriveri piirangud
WebDriver ei saa hõlpsasti uusi brausereid toetada
Pidage meeles, et WebDriver töötab OS-i tasemel. Samuti pidage meeles, et erinevad brauserid suhtlevad operatsioonisüsteemiga erineval viisil. Kui ilmub uus brauser, võib sellel olla OS-iga suhtlemise protsess teistest brauseritest erinev. Niisiis, peate andma WebDriveri meeskonnale üsna palju aega, et see uus protsess välja mõelda, enne kui nad saavad selle järgmises WebDriveri versioonis rakendada.
Kuid WebDriveri arendajate meeskond otsustab, kas nad peaksid uut brauserit toetama või mitte.
Selenium RC-l on sisseehitatud testitulemigeneraator
Selenium RC genereerib testitulemustest automaatselt HTML-faili . Aruande vormi määras RC ise. Vaadake selle aruande näidet allpool.
WebDriveril pole sisseehitatud käsku, mis genereerib automaatselt testitulemuste faili . Peaksite lootma oma IDE väljundaknale või ise aruande kujundama, kasutades oma programmeerimiskeele võimalusi, ja salvestama selle teksti, HTML-i jne.
Kokkuvõte
- WebDriver on tööriist veebirakenduste testimiseks erinevates brauserites, kasutades erinevaid programmeerimiskeeli.
- Nüüd saate teha võimsaid teste, kuna WebDriver võimaldab teil testide kujundamisel kasutada teie valitud programmeerimiskeelt .
- WebDriver on oma lihtsama arhitektuuri tõttu kiirem kui Selenium RC .
- WebDriver räägib otse brauseriga, samal ajal kui Selenium RC vajab selleks RC-serveri abi.
- WebDriveri API on lühem kui Selenium RC-d.
- WebDriver saab toetada HTML-seadet, samal ajal kui Selenium RC seda ei saa.
- Ainsad WebDriveri puudused on:
- See ei saa hõlpsasti uusi brausereid toetada , kuid Selenium RC saab.
- Sellel pole sisseehitatud käsku testitulemuste automaatseks genereerimiseks.