Kaj je Selenium WebDriver? Razlika z RC

Kazalo:

Anonim

Kaj je Selenium Webdriver?

Selenium Webdriver je odprtokodna zbirka API-jev, ki se uporablja za testiranje spletnih aplikacij. Orodje Selenium Webdriver se uporablja za avtomatizacijo preizkušanja spletnih aplikacij za preverjanje, ali deluje po pričakovanjih ali ne. Podpira predvsem brskalnike, kot so Firefox, Chrome, Safari in Internet Explorer. Omogoča tudi izvajanje preskusov med brskalniki.

WebDriver vam omogoča tudi uporabo programskega jezika pri ustvarjanju testnih skriptov (v selenium IDE ni mogoče).

Zdaj lahko uporabljate pogojne operacije, na primer if-then-else ali switch-case. Zanke lahko izvajate tudi v obliki "do-while".

WebDriver podpira naslednje programske jezike

  • Java
  • .Mreža
  • PHP
  • Python
  • Perl
  • Ruby

Ni vam treba vedeti vseh. Samo v enem morate biti dobro poučeni. Vendar bomo v tej vadnici uporabili Javo z Eclipseom kot IDE.

Razlika med Selenium RC in Webdriver

Pred prihodom WebDriverja leta 2006 je obstajalo še eno orodje za avtomatizacijo, imenovano Selenium Remote Control. Tako WebDriver kot Selenium RC imata naslednje funkcije:

  • Oba vam omogočata uporabo programskega jezika pri oblikovanju testnih skript.
  • Oboje omogočata izvajanje testov v različnih brskalnikih.

Torej, kako se razlikujejo? Pogovorimo se o odgovorih.

1. Arhitektura

Arhitektura WebDriverja je enostavnejša od Selenium RC .

  • Brskalnik nadzoruje z ravni OS
  • Vse, kar potrebujete, je IDE programskega jezika (ki vsebuje vaše ukaze Selenium) in brskalnik.
Arhitektura Selenium RC je precej bolj zapletena.
  • Najprej morate zagnati ločeno aplikacijo, imenovano Selenium Remote Control (RC) Server, preden lahko začnete s testiranjem
  • Strežnik Selenium RC deluje kot posrednik med ukazi Selenium in brskalnikom
  • Ko začnete s testiranjem, strežnik Selenium RC v brskalnik "vbrizga" program Javascript, imenovan Selenium Core .
  • Po vbrizganju bo Selenium Core od vašega testnega programa začel prejemati navodila, ki jih posreduje strežnik RC.
  • Ko bodo navodila prejeta, jih bo Selenium Core izvedel kot ukaze Javascript.
  • Brskalnik bo upošteval navodila Selenium Core in bo svoj odziv posredoval strežniku RC.
  • Strežnik RC bo prejel odgovor brskalnika in vam nato prikazal rezultate.
  • Strežnik RC bo iz vašega testnega skripta pobral naslednje navodilo za ponovitev celotnega cikla.

2. Hitrost

WebDriver je hitrejši od Selenium RC, saj se neposredno pogovarja z brskalnikom in ga uporablja za upravljanje.

Selenium RC je počasnejši, saj uporablja program Javascript, imenovan Selenium Core. To jedro Selenium je tisto, ki neposredno nadzoruje brskalnik, ne vi.

3. Interakcija v resničnem življenju

WebDriver deluje z elementi strani na bolj realističen način. Če imate na primer na strani, ki ste jo preizkušali, onemogočeno polje z besedilom, WebDriver res ne more vanj vnesti nobene vrednosti, tako kot ne more resnična oseba.

Selenium Core, tako kot druge kode JavaScript, lahko dostopa do onemogočenih elementov. V preteklosti se preizkuševalci selena pritožujejo, da je selenium core v svoje teste lahko vnašal vrednosti v onemogočeno besedilno polje. Razlike v API-ju

4. API

API Selenium RC je bolj zrel, vendar vsebuje odvečne in pogosto zmedene ukaze . Na primer, preizkuševalci so večino časa zmedeni, ali naj uporabijo tip ali typeKeys; ali pa uporabiti click, mouseDown ali mouseDownAt. Še huje, različni brskalniki si vsakega od teh ukazov razlagajo tudi na različne načine!

API za WebDriver je enostavnejši od Selenium RC . Ne vsebuje odvečnih in zmedenih ukazov.

5. Podpora za brskalnik

WebDriver lahko podpira brezglavi brskalnik HtmlUnit

HtmlUnit se imenuje "brez glave", ker je neviden brskalnik - brez GUI.

To je zelo hiter brskalnik, saj se ne čaka na nalaganje elementov strani. To pospeši vaše cikle izvajanja testa.

Ker je za uporabnika neviden, ga je mogoče nadzorovati le z avtomatiziranimi sredstvi.

Selenium RC ne more podpirati brezglavega brskalnika HtmlUnit. Za delovanje potrebuje resničen, viden brskalnik.

Omejitve WebDriverja

WebDriver ne more zlahka podpirati novih brskalnikov

Ne pozabite, da WebDriver deluje na ravni OS. Ne pozabite tudi, da različni brskalniki z OS komunicirajo na različne načine. Če izide nov brskalnik, ima lahko drugačen postopek komuniciranja z OS v primerjavi z drugimi brskalniki. Torej, ekipi WebDriver morate dati kar nekaj časa, da ugotovi ta novi postopek, preden ga bodo lahko izvedli v naslednji izdaji WebDriver.

Vendar pa se ekipa razvijalcev WebDriverja odloči, ali naj podpira novi brskalnik ali ne.

Selenium RC ima vgrajen generator rezultatov preskusov

Selenium RC samodejno ustvari datoteko HTML z rezultati testa . Obliko poročila je RC določil sam. Spodaj si oglejte primer tega poročila.

WebDriver nima vgrajenega ukaza, ki samodejno ustvari datoteko z rezultati preizkusa . Morali bi se zanašati na izhodno okno IDE-ja ali pa poročilo oblikovati sami z uporabo zmogljivosti svojega programskega jezika in ga shraniti kot besedilo, HTML itd.

Povzetek

  • WebDriver je orodje za preizkušanje spletnih aplikacij v različnih brskalnikih z uporabo različnih programskih jezikov.
  • Zdaj lahko izvajate zmogljive teste, ker vam WebDriver pri načrtovanju testov omogoča uporabo programskega jezika po vaši izbiri.
  • WebDriver je zaradi enostavnejše arhitekture hitrejši od Selenium RC .
  • WebDriver neposredno govori z brskalnikom, medtem ko Selenium RC za to potrebuje pomoč strežnika RC.
  • API WebDriver je bolj jedrnat kot Selenium RC.
  • WebDriver lahko podpira HtmlUnit, medtem ko Selenium RC ne.
  • Edine pomanjkljivosti WebDriverja so:
    • Ne more zlahka podpirati novih brskalnikov , lahko pa ga ima Selenium RC.
    • Nima vgrajenega ukaza za samodejno generiranje rezultatov preskusov.