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.