Preskušanje brskalnika brez selena: HTMLUnitDriver & PhantomJS

Kazalo:

Anonim

Selenium Web driver je orodje za spletno avtomatizacijo, ki vam omogoča izvajanje testov v različnih brskalnikih. Ti brskalniki so lahko Internet Explorer, Firefox ali Chrome. Za uporabo določenega brskalnika s selenom potrebujete ustrezen gonilnik.

Med testnim zagonom Selenium zažene ustrezen brskalnik, imenovan skript, in izvede preskusne korake. Ogledate si lahko brskalnik in izvajanje preizkusa v akciji.

Kaj je brezglavi brskalnik?

Brezglavi brskalnik je spletni brskalnik brez grafičnega uporabniškega vmesnika . Ta program se bo obnašal tako kot brskalnik, vendar ne bo prikazal nobenega GUI.

Nekateri primeri brezglavih voznikov vključujejo

  • HtmlUnit
  • Duh
  • PhantomJS
  • ZombieJS
  • Watir-spletni voznik

V tej vadnici se bomo osredotočili na HtmlUnit in PhatomJS

HTMLUnitDriver

HTML UnitDriver je najlažji in najhitrejši implementacijski brezglavi brskalnik za WebDriver. Temelji na HtmlUnit. Znan je kot Headless Browser Driver . Je enak gonilniku za Chrome, IE ali FireFox, vendar nima GUI-ja, zato na zaslonu ni mogoče videti preizkusa.

Značilnosti gonilnika enote HTML

  • Podpora za protokola HTTPS in HTTP
  • Podpora za odzive HTML (klikanje povezav, oddajanje obrazcev, sprehajanje po modelu DOM dokumenta HTML itd.)
  • Podpora za piškotke
  • Podpora strežniku proxy
  • Podpora za osnovno overjanje in overjanje NTLM
  • Odlična podpora za JavaScript
  • Podpora za metode predložitve GET in POST
  • Možnost prilagajanja glav zahtev, ki se pošiljajo na strežnik
  • Sposobnost določanja, ali naj neuspešni odgovori strežnika povzročajo izjeme ali naj se vrnejo kot strani ustrezne vrste

Koraki za uporabo gonilnika HTMLUnit s selenom

Korak 1) V Eclipse kopirajte naslednjo kodo. V projekt dodajte standardne datoteke knjižnice selena. Dodatne datoteke jar niso potrebne.

paket htmldriver;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;javni razred htmlUnitYest {public static void main (String [] args) {// Ustvarjanje novega primerka gonilnika enote HTMLGonilnik WebDriver = nov HtmlUnitDriver ();// Pomaknite se do Googladriver.get ("http://www.google.com");// Poiščite iskalno polje z uporabo njegovega imenaWebElement element = driver.findElement (By.name ("q"));// Vnesite iskalno poizvedboelement.sendKeys ("Guru99");// Pošljite poizvedbo. Webdriver obrazec samodejno išče z uporabo elementa za vnos besedila// gumba za oddajo ni treba najti / najtielement.submit ();// Ta koda bo natisnila naslov straniSistem. out .println ("Naslov strani je: + driver.getTitle ());driver.quit ();}}

2. korak) Zaženite kodo. Opazili boste, da noben brskalnik ni zagnan, rezultati pa so prikazani v konzoli.

Prednosti gonilnika enote Html:

  • Ker za testiranje ne uporablja nobenega grafičnega uporabniškega vmesnika, se bodo testi izvajali v ozadju brez vizualnih prekinitev
  • V primerjavi z vsemi drugimi primerki je izvedba hitrejša
  • Za izvajanje preizkusov prek gonilnika HtmlUnit lahko izberete tudi druge različice brskalnika
  • Je neodvisen od platforme in hkrati lažje izvaja več preskusov. Idealno za preskušanje obremenitve.

Omejitve:

  • Ne more posnemati vedenja JavaScript drugih brskalnikov

PhantomJS

PhantomJS je brezglavi brskalnik z API-jem JavaScript. Je optimalna rešitev za brezglavo testiranje spletnih strani, dostop do spletnih strani in upravljanje z njimi ter ima standardni DOM API.

Če želite uporabljati PhantomJS s Seleniunom, morate uporabiti GhostDriver. GhostDriver je izvedba protokola Webdriver Wire v preprostem JS za PhantomJS.

V najnovejšo izdajo PhatomJS je vgrajen GhostDriver in ga ni treba posebej nameščati.

Tukaj je, kako sistem deluje -

Koraki za zagon selena s PhatomJS

Korak 1) Potrebujete Eclipse z nameščenim selenom

Korak 2) Tukaj prenesite PhantomJS

Korak 3) Izvlecite preneseno mapo v Program Files

4. korak) Prenesite gonilnik PhantomJS od tukaj. Kozarec dodajte svojemu projektu

5. korak : V eclipse prilepite naslednjo kodo

paket htmldriver;import java.io.File;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;uvoz org.openqa.selenium.phantomjs.PhantomJSDriver;javni razred fantom {public static void main (String [] args) {Datoteka datoteke = nova datoteka ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());Gonilnik WebDriver = nov PhantomJSDriver ();driver.get ("http://www.google.com");WebElement element = driver.findElement (By.name ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Naslov strani je: + driver.getTitle ());driver.quit ();}}

6. korak) Zaženite kodo. Opazili boste, da je izhod prikazan v konzoli in da se brskalnik ne zažene.

OPOMBA : Ob prvem zagonu boste morda od sistema Windows dobili varnostno opozorilo, da boste lahko zagnali PhantomJS. Kliknite Dovoli dostop.

Mnoge organizacije uporabljajo Phantom.JS za različne namene, na primer

  • Brezglavo testiranje
  • Zajem zaslona
  • Avtomatizacija strani
  • Nadzor omrežja
  • Za upodabljanje posnetkov zaslona nadzorne plošče za svoje uporabnike
  • Za zagon preskusov enot v ukazni vrstici
  • Ustvariti priročnike za zaposlene iz HTML-ja v PDF
  • V kombinaciji s QUnit za testni paket

Povzetek

Za hitro testiranje aplikacije v različnih brskalnikih in brez kakršnih koli vizualnih motenj se uporablja brezglavo testiranje brskalnika. Zaradi hitrosti, natančnosti in enostavnih funkcij gonilnik enote HTML in PhantomJS postajata priljubljena za testiranje brezglavega brskalnika. Z nekaj preprostimi koraki spoznate, kako enostavno je ta orodja mogoče integrirati z drugimi orodji in izvajati testno kodo.