Čo je Selenium WebDriver? Rozdiel s RC

Obsah:

Anonim

Čo je Selenium Webdriver?

Selenium Webdriver je open-source kolekcia API, ktorá sa používa na testovanie webových aplikácií. Nástroj Selenium Webdriver sa používa na automatizáciu testovania webových aplikácií na overenie, či funguje podľa očakávania alebo nie. Podporuje hlavne prehliadače ako Firefox, Chrome, Safari a Internet Explorer. Umožňuje vám tiež vykonať testovanie naprieč prehliadačmi.

WebDriver tiež umožňuje používať programovací jazyk pri vytváraní testovacích skriptov (nie je možné v Selenium IDE).

Teraz môžete používať podmienené operácie, ako keby-potom-inak alebo prepínanie veľkých a malých písmen. Môžete tiež vykonávať slučky ako do-while.

WebDriver podporuje nasledujúce programovacie jazyky

  • Java
  • .Net
  • PHP
  • Python
  • Perl
  • Ruby

Nemusíte poznať všetky. Musíte byť iba informovaní v jednom. V tomto tutoriále však budeme používať Java s Eclipse ako naše IDE.

Rozdiel medzi selénom RC a webdriverom

Pred nástupom produktu WebDriver v roku 2006 existoval ďalší automatizačný nástroj s názvom Selenium Remote Control. WebDriver aj Selenium RC majú nasledujúce funkcie:

  • Oba vám umožňujú používať programovací jazyk pri navrhovaní testovacích skriptov.
  • Oba vám umožňujú spustiť testy v rôznych prehľadávačoch.

V čom sa teda líšia? Poďme diskutovať o odpovediach.

1. Architektúra

Architektúra WebDriveru je jednoduchšia ako architektúra Selenium RC .

  • Ovláda prehliadač z úrovne OS
  • Všetko, čo potrebujete, je IDE programovacieho jazyka (ktorý obsahuje vaše príkazy selénu) a prehliadač.
Architektúra selénu RC je oveľa komplikovanejšia.
  • Predtým, ako začnete testovať, musíte najskôr spustiť samostatnú aplikáciu nazvanú Selenium Remote Control (RC) Server
  • Selenium RC Server funguje ako „prostredník“ medzi vašimi príkazmi Selenium a vašim prehliadačom
  • Keď začnete testovať, server Selenium RC Server „vstrekne“ do prehliadača program Javascript s názvom Selenium Core .
  • Po podaní injekcie začne Selenium Core dostávať pokyny prenášané RC serverom z vášho testovacieho programu.
  • Po prijatí pokynov ich procesor Selenium Core vykoná ako príkazy Javascript.
  • Prehliadač bude dodržiavať pokyny selénového jadra a odošle svoju odpoveď na RC server.
  • Server RC prijme odpoveď prehľadávača a potom vám zobrazí výsledky.
  • RC Server načíta ďalšiu inštrukciu z vášho testovacieho skriptu, aby zopakoval celý cyklus.

2. Rýchlosť

WebDriver je rýchlejší ako Selenium RC, pretože hovorí priamo do prehliadača a na jeho ovládanie používa vlastný motor prehliadača.

Selén RC je pomalší, pretože využíva program Javascript s názvom Selénové jadro. Toto selénové jadro je to, ktoré priamo ovláda prehliadač, nie vy.

3. Interakcia v reálnom živote

WebDriver interaguje s prvkami stránky realistickejšie. Napríklad ak máte na testovanej stránke zakázané textové pole, WebDriver v ňom nemôže zadať žiadnu hodnotu rovnako, ako to nedokáže skutočná osoba.

Selénové jadro, rovnako ako iné kódy JavaScript, má prístup k deaktivovaným prvkom. V minulosti sa testéri selénu sťažovali, že Selenium Core dokázal pri svojich testoch zadávať hodnoty do deaktivovaného textového poľa. Rozdiely v API

4. API

Rozhranie API selénu RC je vyzretejšie, ale obsahuje nadbytočné množstvá a často mätúce príkazy . Napríklad väčšinu času sú testeri zmätení, či majú používať type alebo typeKeys; alebo či sa má použiť click, mouseDown alebo mouseDownAt. Horšie je, že rôzne prehliadače interpretujú každý z týchto príkazov tiež rôznymi spôsobmi!

Rozhranie WebDriver je jednoduchšie ako rozhranie Selenium RC . Neobsahuje nadbytočné a mätúce príkazy.

5. Podpora prehľadávača

WebDriver môže podporovať bezhlavý prehliadač HtmlUnit

HtmlUnit sa nazýva „bezhlavý“, pretože je to neviditeľný prehliadač - je bez GUI.

Je to veľmi rýchly prehliadač, pretože netrávite čas čakaním na načítanie prvkov stránky. To urýchľuje vaše cykly vykonania testu.

Pretože je pre používateľa neviditeľný, je možné ho ovládať iba automatizovanými prostriedkami.

Selenium RC nemôže podporovať bezhlavý prehliadač HtmlUnit. Na fungovanie je potrebný skutočný viditeľný prehliadač.

Obmedzenia WebDriveru

WebDriver nemôže ľahko podporovať nové prehľadávače

Pamätajte, že WebDriver pracuje na úrovni OS. Pamätajte tiež, že rôzne prehľadávače komunikujú s OS rôznymi spôsobmi. Ak vyjde nový prehliadač, môže mať odlišný proces komunikácie s OS v porovnaní s inými prehľadávačmi. Takže, budete musieť dať WebDriver Tím nejakú dobu zistiť, že nový proces sa skôr, než sa ho realizovať v ďalšom vydaní WebDriver.

Je však na vývojovom tíme WebDriveru, aby rozhodol, či by mal nový prehliadač podporovať alebo nie.

Selén RC má zabudovaný generátor výsledkov testu

Selenium RC automaticky generuje súbor HTML s výsledkami testu . Formát správy si vopred stanovil samotný RC. Nižšie si pozrite príklad tejto správy.

WebDriver nemá žiadny vstavaný príkaz, ktorý automaticky generuje súbor s výsledkami testu . Museli by ste sa spoľahnúť na výstupné okno vášho IDE alebo navrhnúť správu sami pomocou možností svojho programovacieho jazyka a uložiť ju ako text, HTML atď.

Zhrnutie

  • WebDriver je nástroj na testovanie webových aplikácií v rôznych prehľadávačoch pomocou rôznych programovacích jazykov.
  • Teraz môžete robiť výkonné testy, pretože WebDriver vám umožňuje pri navrhovaní testov používať programovací jazyk podľa vášho výberu.
  • WebDriver je vďaka svojej jednoduchšej architektúre rýchlejší ako Selenium RC .
  • WebDriver priamo hovorí s prehliadačom, zatiaľ čo Selenium RC na to potrebuje pomoc RC servera.
  • Rozhranie WebDriver je stručnejšie ako rozhranie Selenium RC.
  • WebDriver môže podporovať HtmlUnit, zatiaľ čo selén RC nie.
  • Jediné nevýhody programu WebDriver sú:
    • Nemôže ľahko podporovať nové prehliadače , ale Selenium RC áno.
    • Nemá zabudovaný príkaz na automatické generovanie výsledkov testu.