„Selen“ naršyklės be galvos testavimas: HTMLUnitDriver & „PhantomJS“

Turinys:

Anonim

„Selenium Web“ tvarkyklė yra žiniatinklio automatizavimo įrankis, leidžiantis atlikti testus skirtingose ​​naršyklėse. Šios naršyklės gali būti „Internet Explorer“, „Firefox“ arba „Chrome“. Norint naudoti „Selenium“ tam tikrą naršyklę, reikia atitinkamos tvarkyklės.

Bandymo metu „Selenium“ paleidžia atitinkamą naršyklę, iškviestą scenarijumi, ir atlieka bandomuosius veiksmus. Galite matyti naršyklę ir bandymo vykdymą.

Kas yra naršyklė be galvos?

Naršyklė be galvos yra interneto naršyklė be grafinės vartotojo sąsajos . Ši programa elgsis taip pat, kaip naršyklė, bet neparodys jokio GUI.

Keletas vairuotojų be galvos pavyzdžių

  • „HTMLUnit“
  • Vaiduoklis
  • „PhantomJS“
  • ZombieJS
  • „Watir“ žiniatinklio tvarkyklė

Šioje pamokoje daugiausia dėmesio skirsime „HtmlUnit“ ir „PhatomJS“

HTMLUnitDriver

HTML UnitDriver yra lengviausia ir greičiausia „WebDriver“ naršyklė be galvos. Jis pagrįstas „HtmlUnit“. Jis žinomas kaip naršyklės tvarkyklė be galvos . Tai tas pats, kas „Chrome“, IE ar „Firefox“ tvarkyklė, tačiau ji neturi GUI, todėl ekrane nematyti bandymo vykdymo.

HTML vieneto tvarkyklės ypatybės

  • Palaikymas HTTPS ir HTTP protokolams
  • HTML atsakymų palaikymas (spustelėjus nuorodas, pateikiant formas, einant HTML dokumento DOM modeliu ir kt.)
  • Parama slapukams
  • Tarpinio serverio palaikymas
  • Palaikymas pagrindiniam ir NTLM autentifikavimui
  • Puikus „JavaScript“ palaikymas
  • Parama pateikimo metodams GET ir POST
  • Galimybė pritaikyti užklausų antraštes, siunčiamas į serverį
  • Galimybė nustatyti, ar nepavykę atsakymai iš serverio turėtų sukelti išimtis, ar turėtų būti pateikti kaip atitinkamo tipo puslapiai

HTMLUnit tvarkyklės naudojimo su selenu žingsniai

1 žingsnis . „Eclipse“ nukopijuokite šį kodą. Į projektą įtraukite standartinius seleno bibliotekos failus. Nereikia jokių papildomų indelių failų.

paketas htmldriver;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.htmlunit.HtmlUnitDriver;public class htmlUnitYest {public static void main (String [] argumentuoja) {// Naujo HTML vieneto tvarkyklės egzemplioriaus kūrimas„WebDriver“ tvarkyklė = naujas „HtmlUnitDriver“ ();// Eikite į „Google“driver.get ("http://www.google.com");// Raskite paieškos laukelį naudodami jo pavadinimą„WebElement“ elementas = driver.findElement (By.name („q“));// Įveskite paieškos užklausąelement.sendKeys („Guru99“);// Pateikti užklausą. „Webdriver“ automatiškai ieško formos naudodamas teksto įvesties elementą// Nereikia rasti / rasti pateikimo mygtukoelementas.pateikti ();// Šis kodas atspausdins puslapio pavadinimąSistema. out .println ("Puslapio pavadinimas yra: + tvarkyklė.getTitle ());vairuotojas.mesti ();}}

2 žingsnis) Paleiskite kodą. Stebėsite, ar nepaleista jokia naršyklė, o rezultatai rodomi konsolėje.

HTML vieneto tvarkyklės pranašumai:

  • Kadangi bandymams nenaudojama jokia GUI, testai bus vykdomi fone be jokių vaizdinių pertraukimų
  • Palyginti su visais kitais atvejais, vykdymas yra greitesnis
  • Norėdami atlikti bandymus naudodami „HtmlUnit“ tvarkyklę, taip pat galite pasirinkti kitas naršyklės versijas
  • Tai nepriklauso nuo platformos ir lengviau vienu metu vykdyti kelis testus. Idealiai tinka apkrovos testavimui.

Apribojimai:

  • Jis negali imituoti kitų naršyklių „JavaScript“ elgsenos

„PhantomJS“

„PhantomJS“ yra naršyklė be galvos su „JavaScript“ API. Tai yra optimalus sprendimas be galvos svetainių testavimui, prieigai prie interneto svetainių ir jų tvarkymo ir pateikiamas su standartine DOM API.

Norint naudoti „PhantomJS“ su „Seleniun“, reikia naudoti „GhostDriver“. „GhostDriver“ yra „Webdriver Wire“ protokolo įgyvendinimas paprastame JS, skirtame „PhantomJS“.

Naujausiame „PhatomJS“ leidime integruotas „ GhostDriver“ ir nereikia jo atskirai įdiegti.

Štai kaip veikia sistema-

Veiksmai, kaip paleisti seleną su „PhatomJS“

1 žingsnis) Jums reikia „Eclipse“ su įdiegtu selenu

2 žingsnis) Atsisiųskite „PhantomJS“ čia

3 žingsnis. Ištraukite atsisiųstą aplanką į programos failus

4 žingsnis) Atsisiųskite „PhantomJS“ tvarkyklę iš čia. Pridėkite stiklainį prie savo projekto

5 žingsnis. Įklijuokite šį kodą į užtemimą

paketas htmldriver;importuoti java.io.File;importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.WebElement;importuoti org.openqa.selenium.phantomjs.PhantomJSDriver;viešosios klasės fantomas {public static void main (String [] argumentuoja) {Failo failas = naujas failas ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());„WebDriver“ tvarkyklė = naujas „PhantomJSDriver“ ();driver.get ("http://www.google.com");„WebElement“ elementas = driver.findElement (By.name („q“));element.sendKeys („Guru99“);elementas.pateikti ();System.out.println ("Puslapio pavadinimas yra: + tvarkyklė.getTitle ());vairuotojas.mesti ();}}

6 žingsnis) Paleiskite kodą. Jūs pastebėsite, kad išvestis rodoma konsolėje, o jokia naršyklė nėra paleista.

PASTABA : Pirmą kartą paleidę, atsižvelgdami į jūsų nustatymus, galite gauti „Windows“ saugos įspėjimą, kad leistumėte paleisti „PhantomJS“. Spustelėkite Leisti prieigą.

Daugelis organizacijų naudoja „Phantom.JS“ įvairiems tikslams, pavyzdžiui,

  • Testavimas be galvos
  • Ekrano nuotrauka
  • Puslapio automatika
  • Tinklo stebėjimas
  • Norėdami pateikti informacijos suvestinės ekrano kopijas savo vartotojams
  • Komandos eilutėje vykdyti vieneto testus
  • Norėdami sugeneruoti darbuotojų vadovus iš HTML į PDF
  • Kartu su „QUnit“ bandymų rinkiniui

Santrauka

Norėdami greitai išbandyti programą įvairiose naršyklėse ir be jokių vizualinių pertraukimų, naudojamas naršyklės testavimas be galvos. Dėl savo greičio, tikslumo ir lengvai pasiekiamų funkcijų HTML vieneto tvarkyklė ir „PhantomJS“ populiarėja bandant naršyti be galvos. Atlikdami kelis paprastus veiksmus, sužinosite, kaip lengvai šiuos įrankius galima integruoti su kitais įrankiais ir kurie gali atlikti testo kodą.