Selenium Web-driver er et webautomationsværktøj, der giver dig mulighed for at køre testene mod forskellige browsere. Disse browsere kan være Internet Explorer, Firefox eller Chrome. For at bruge en bestemt browser med Selenium skal du bruge den tilsvarende driver.
Ved testkørsel starter Selenium den tilsvarende browser kaldet script og udfører testtrin. Du kan se browseren og testudførelsen i aktion.
Hvad er hovedløs browser?
En hovedløs browser er en webbrowser uden en grafisk brugergrænseflade . Dette program opfører sig ligesom en browser, men viser ikke nogen GUI.
Nogle af eksemplerne på hovedløse drivere inkluderer
- HtmlUnit
- Spøgelse
- PhantomJS
- ZombieJS
- Watir-webdriver
I denne vejledning vil vi fokusere på HtmlUnit og PhatomJS
HTMLUnitDriver
HTML UnitDriver er den mest lette og hurtigste implementeringshovedløse browser til WebDriver. Det er baseret på HtmlUnit. Det er kendt som Headless Browser Driver . Det er det samme som Chrome-, IE- eller FireFox-driveren, men det har ikke GUI, så man kan ikke se testudførelsen på skærmen.
Funktioner i HTML-enhedsdriver
- Understøttelse af HTTPS- og HTTP-protokollerne
- Støtte til HTML-svar (klikke på links, indsende formularer, gå DOM-modellen til HTML-dokumentet osv.)
- Support til cookies
- Understøttelse af proxyserver
- Understøttelse af grundlæggende og NTLM-godkendelse
- Fremragende JavaScript-understøttelse
- Støtte til indsendelsesmetoder GET og POST
- Evne til at tilpasse anmodningsoverskrifter, der sendes til serveren
- Evne til at afgøre, om svigtende svar fra serveren skal give undtagelser eller skal returneres som sider af den relevante type
Trin til brug af HTMLUnit Driver med Selen
Trin 1) Kopier følgende kode i Eclipse. Føj standard selenium biblioteksfiler til projektet. Der kræves ingen yderligere jar-filer.
pakke htmldriver;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.htmlunit.HtmlUnitDriver;offentlig klasse htmlUnitYest {public static void main (String [] args) {// Oprettelse af en ny forekomst af HTML-enhedsdriverenWebDriver-driver = ny HtmlUnitDriver ();// Naviger til Googledriver.get ("http://www.google.com");// Find søgefeltet ved hjælp af dets navnWebElement-element = driver.findElement (efter.navn ("q"));// Indtast en søgeforespørgselelement.sendKeys ("Guru99");// Indsend forespørgslen. Webdriver søger automatisk efter formularen ved hjælp af tekstinputelementet// Intet behov for at finde / finde knappen Sendelement.submit ();// Denne kode udskriver sidetitlenSystem. ud .println ("Sidetitel er: + driver.getTitle ());driver.quit ();}}
Trin 2) Kør koden. Du vil iagttage, ingen browser er startet, og resultaterne vises i konsollen.
Fordele ved HTML-enhedsdriver:
- Da det ikke bruger nogen GUI til at teste, kører dine tests i baggrunden uden nogen visuel afbrydelse
- Sammenlignet med alle andre forekomster er udførelsen hurtigere
- For at køre dine tests gennem HtmlUnit-driveren kan du også vælge andre browserversioner
- Det er platformuafhængigt og lettere at køre flere tests samtidigt. Ideel til belastningstest.
Begrænsninger:
- Det kan ikke efterligne andre browsers JavaScript-opførsel
PhantomJS
PhantomJS er en headless browser med JavaScript API. Det er en optimal løsning til Headless Website Testing, få adgang til og manipulere websider og leveres med standard DOM API.
For at kunne bruge PhantomJS med Seleniun skal man bruge GhostDriver. GhostDriver er en implementering af Webdriver Wire-protokollen i simpel JS til PhantomJS.
Den seneste udgave af PhatomJS har integreret GhostDriver, og det er ikke nødvendigt at installere det separat.
Sådan fungerer systemet -
Skridt til at køre selen med PhatomJS
Trin 1) Du skal bruge Eclipse med Selenium installeret
Trin 2) Download PhantomJS her
Trin 3) Uddrag den downloadede mappe til programfiler
Trin 4) Download PhantomJS-driveren herfra. Føj krukken til dit projekt
Trin 5) Indsæt følgende kode i formørkelse
pakke htmldriver;import java.io.File;importer org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.phantomjs.PhantomJSDriver;offentlig klasse fantom {public static void main (String [] args) {Filfil = ny fil ("C: / Program Files / phantomjs-2.0.0-windows / bin / phantomjs.exe");System.setProperty ("phantomjs.binary.path", file.getAbsolutePath ());WebDriver driver = ny PhantomJSDriver ();driver.get ("http://www.google.com");WebElement-element = driver.findElement (efter.navn ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Sidetitel er: + driver.getTitle ());driver.quit ();}}
Trin 6) Kør koden. Du vil observere, at output vises i konsollen, og ingen browser startes.
BEMÆRK : Ved første kørsel, baseret på dine indstillinger, kan du få sikkerhedsadvarsel fra Windows for at tillade at køre PhantomJS. Klik på Tillad adgang.
Mange organisationer bruger Phantom.JS til forskellige formål, for eksempel
- Hovedløs test
- Skærmbillede
- Sideautomatisering
- Netværksovervågning
- At gengive skærmbilleder til instrumentbrættet til deres brugere
- At køre enhedstest på kommandolinjen
- At generere medarbejderhåndbøger fra HTML til PDF
- Kombineret med QUnit til testpakken
Resumé
For at teste applikationen hurtigt i forskellige browsere og uden nogen visuel afbrydelse bruges headless browsertest. På grund af sin hastighed, nøjagtighed og nemme at få adgang til funktioner vinder HTML-enhedsdriver og PhantomJS popularitet til headless browsertest. Ved at følge nogle enkle trin lærer du at vide, hvor let disse værktøjer kan integreres med andre værktøjer og kan udføre testkoden.