Kas yra „Selenium WebDriver“? Skirtumas nuo RC

Turinys:

Anonim

Kas yra „Selenium Webdriver“?

„Selenium Webdriver“ yra atvirojo kodo API kolekcija, naudojama bandant žiniatinklio programas. „Selenium Webdriver“ įrankis naudojamas automatizuoti žiniatinklio programų testavimą siekiant patikrinti, ar jis veikia taip, kaip tikėtasi, ar ne. Tai daugiausia palaiko tokias naršykles kaip „Firefox“, „Chrome“, „Safari“ ir „Internet Explorer“. Tai taip pat leidžia atlikti kelių naršyklių testavimą.

„WebDriver“ taip pat leidžia naudoti programavimo kalbą kuriant bandomuosius scenarijus („Selenium IDE“ neįmanoma).

Dabar galite naudoti tokias sąlygines operacijas kaip „if-then-else“ arba „switch-case“. Taip pat galite atlikti kilpą kaip „do-while“.

Šias programavimo kalbas palaiko „WebDriver“

  • „Java“
  • .Net
  • PHP
  • „Python“
  • Perl
  • Rubinas

Jūs neturite žinoti jų visų. Jums tiesiog reikia žinoti apie vieną. Tačiau šioje pamokoje mes naudosime „Java“ su „Eclipse“ kaip savo IDE.

„Selenium RC“ ir „Webdriver“ skirtumas

Iki „WebDriver“ atsiradimo 2006 m. Buvo dar vienas automatizavimo įrankis, vadinamas „Selenium Remote Control“. Tiek „WebDriver“, tiek „Selenium RC“ turi šias funkcijas:

  • Jie abu leidžia naudoti programavimo kalbą kuriant bandomuosius scenarijus.
  • Jie abu leidžia atlikti testus skirtingose ​​naršyklėse.

Taigi kuo jie skiriasi? Aptarkime atsakymus.

1. Architektūra

„WebDriver“ architektūra yra paprastesnė nei „Selenium RC“ .

  • Jis valdo naršyklę iš OS lygio
  • Viskas, ko jums reikia, yra jūsų programavimo kalbos IDE (kurioje yra jūsų „Selenium“ komandos) ir naršyklė.
„Selenium RC“ architektūra yra daug sudėtingesnė.
  • Kad galėtumėte pradėti testuoti, pirmiausia turite paleisti atskirą programą „Selenium Remote Control (RC) Server“
  • „Selenium RC Server“ veikia kaip „tarpininkas“ tarp jūsų „Selenium“ komandų ir jūsų naršyklės
  • Kai pradedate testuoti, „Selenium RC Server“ į naršyklę „įpurškia“ „ Javascript“ programą, vadinamą „Selenium Core“ .
  • Kai bus suleista, „Selenium Core“ pradės gauti instrukcijas, kurias „RC Server“ perdavė iš jūsų bandymo programos.
  • Kai bus gautos instrukcijos, „ Selenium Core“ jas vykdys kaip „Javascript“ komandas.
  • Naršyklė laikysis „Selenium Core“ nurodymų ir perduos savo atsakymą RC serveriui.
  • RC serveris gaus naršyklės atsakymą ir parodys jums rezultatus.
  • „RC Server“ iš bandomojo scenarijaus atims kitą instrukciją, kad pakartotų visą ciklą.

2. Greitis

„WebDriver“ yra greitesnis nei „Selenium RC“, nes jis kalba tiesiogiai su naršykle, kad valdytų naršyklės variklį.

Selenium RC yra lėtesnis, nes jis naudoja „Javascript“ programą, vadinamą „Selenium Core“. Šis „Selenium Core“ yra tas, kuris tiesiogiai valdo naršyklę, o ne jūs.

3. Sąveika realiame gyvenime

„WebDriver“ sąveikauja su puslapio elementais realistiškiau. Pvz., Jei jūsų bandomame puslapyje yra išjungtas teksto laukelis, „WebDriver“ tikrai negali į jį įvesti jokios vertės, kaip to negali padaryti tikras asmuo.

„Selenium Core“, kaip ir kiti „JavaScript“ kodai, gali pasiekti išjungtus elementus. Anksčiau „Selenium“ testuotojai skundėsi, kad „Selenium Core“ savo bandymuose galėjo įvesti reikšmes į neįgalųjį teksto laukelį. API skirtumai

4. API

„Selenium RC“ API yra labiau subrendusi, tačiau joje yra atleidimų ir dažnai klaidinančių komandų . Pavyzdžiui, dažniausiai bandytojai yra suglumę, ar naudoti tipą, ar tipąKeys; ar naudoti „click“, „mouseDown“ ar „mouseDownAt“. Dar blogiau, skirtingos naršyklės taip pat skirtingai interpretuoja kiekvieną iš šių komandų!

„WebDriver“ API yra paprastesnė nei „Selenium RC“ . Jame nėra nereikalingų ir painių komandų.

5. Naršyklės palaikymas

„WebDriver“ gali palaikyti „HtmlUnit“ naršyklę be galvos

„HtmlUnit“ vadinamas „be galvos“, nes tai yra nematoma naršyklė - be GUI.

Tai labai greita naršyklė, nes nereikia laukti puslapio elementų įkėlimo. Tai pagreitina jūsų bandymų vykdymo ciklus.

Kadangi jis nematomas vartotojui, jį galima valdyti tik automatinėmis priemonėmis.

„Selenium RC“ negali palaikyti naršyklės be galvos „HtmlUnit“. Kad veiktų, reikia tikros, matomos naršyklės.

„WebDriver“ apribojimai

„WebDriver“ negali lengvai palaikyti naujų naršyklių

Atminkite, kad „WebDriver“ veikia OS lygiu. Taip pat atminkite, kad skirtingos naršyklės su OS bendrauja skirtingais būdais. Jei pasirodys nauja naršyklė, joje gali būti kitoks bendravimo su OS procesas, palyginti su kitomis naršyklėmis. Taigi, jūs turite skirti „WebDriver“ komandai pakankamai laiko, kad išsiaiškintumėte tą naują procesą, kol jie galės jį įgyvendinti kitame „WebDriver“ leidime.

Tačiau „WebDriver“ kūrėjų komanda turi nuspręsti, ar jie turėtų palaikyti naują naršyklę, ar ne.

Selenium RC turi įmontuotą bandymo rezultatų generatorių

„Selenium RC“ automatiškai sugeneruoja testo rezultatų HTML failą . Ataskaitos formatą iš anksto nustatė pati RC. Pažvelkite į šios ataskaitos pavyzdį žemiau.

„WebDriver“ neturi integruotos komandos, kuri automatiškai sukurtų bandymo rezultatų failą . Turėtumėte pasikliauti IDE išvesties langu arba patys sukurti ataskaitą naudodamiesi savo programavimo kalbos galimybėmis ir saugoti ją kaip tekstą, HTML ir kt.

Santrauka

  • „WebDriver“ yra įrankis, skirtas išbandyti žiniatinklio programas skirtingose ​​naršyklėse, naudojant skirtingas programavimo kalbas.
  • Dabar galite atlikti galingus testus, nes „WebDriver“ leidžia naudoti jūsų pasirinktą programavimo kalbą kuriant testus.
  • „WebDriver“ yra greitesnis už „Selenium RC“ dėl paprastesnės architektūros.
  • „WebDriver“ tiesiogiai kalba su naršykle, o „Selenium RC“ tam reikia RC serverio pagalbos.
  • „WebDriver“ API yra glaustesnė nei „Selenium RC“.
  • „WebDriver“ gali palaikyti „HtmlUnit“, o „Selenium RC“ negali.
  • Vieninteliai „WebDriver“ trūkumai yra šie:
    • Jis negali lengvai palaikyti naujų naršyklių , tačiau „Selenium RC“ gali.
    • Jame nėra įmontuotos komandos automatiniam bandymų rezultatų generavimui.