Selenium Web Driver er et nettautomatiseringsverktøy som lar deg kjøre testene mot forskjellige nettlesere. Disse nettleserne kan være Internet Explorer, Firefox eller Chrome. For å bruke en bestemt nettleser med Selenium trenger du tilsvarende driver.
Ved testkjøring lanserer Selenium den tilhørende nettleseren som er kalt i skriptet og utfører teststrinn. Du kan se nettleseren og testutførelsen i aksjon.
Hva er hodeløs nettleser?
En hodeløs nettleser er en nettleser uten et grafisk brukergrensesnitt . Dette programmet vil oppføre seg akkurat som en nettleser, men vil ikke vise noen GUI.
Noen av eksemplene på hodeløse drivere inkluderer
- HtmlUnit
- Spøkelse
- PhantomJS
- ZombieJS
- Watir-webdriver
I denne opplæringen vil vi fokusere på HtmlUnit og PhatomJS
HTMLUnitDriver
HTML UnitDriver er den letteste og raskeste implementeringshodeløse nettleseren for WebDriver. Den er basert på HtmlUnit. Det er kjent som hodeløs nettleserdriver . Det er det samme som Chrome-, IE- eller FireFox-driveren, men det har ikke GUI, så man kan ikke se testutførelsen på skjermen.
Funksjoner av HTML-enhetsdriver
- Støtte for HTTPS- og HTTP-protokollene
- Støtte for HTML-svar (klikke på lenker, sende inn skjemaer, gå DOM-modellen til HTML-dokumentet osv.)
- Støtte for informasjonskapsler
- Støtte for proxy-server
- Støtte for grunnleggende og NTLM-autentisering
- Utmerket JavaScript-støtte
- Støtte for innsendingsmetoder GET og POST
- Evne til å tilpasse forespørselsoverskriftene som sendes til serveren
- Evne til å avgjøre om sviktende svar fra serveren skal gi unntak eller skal returneres som sider av riktig type
Fremgangsmåte for å bruke HTMLUnit Driver med Selen
Trinn 1) I Eclipse, kopier følgende kode. Legg til standard selenbiblioteksfiler i prosjektet. Ingen ekstra jar-filer er påkrevd.
pakke htmldriver;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer org.openqa.selenium.htmlunit.HtmlUnitDriver;offentlig klasse htmlUnitYest {public static void main (String [] args) {// Opprette en ny forekomst av HTML-enhetsdriverenWebDriver driver = ny HtmlUnitDriver ();// Naviger til Googledriver.get ("http://www.google.com");// Finn søkeboksen ved å bruke navnetWebElement-element = driver.findElement (etter.navn ("q"));// Skriv inn et søkelement.sendKeys ("Guru99");// Send inn spørringen. Webdriver søker automatisk etter skjemaet ved hjelp av tekstinntastingselementet// Ingen grunn til å finne / finne send-knappenelement.submit ();// Denne koden vil skrive ut sidetittelenSystem. ut .println ("Sidetittel er: + driver.getTitle ());driver.quit ();}}
Trinn 2) Kjør koden. Du vil observere at ingen nettlesere er lansert, og resultatene vises i konsollen.
Fordeler med HTML-enhetsdriver:
- Siden det ikke bruker noen GUI for å teste, vil testene dine kjøres i bakgrunnen uten visuelt avbrudd
- Sammenlignet med alle andre tilfeller er kjøringen raskere
- For å kjøre testene dine gjennom HtmlUnit-driveren kan du også velge andre nettleserversjoner
- Det er plattformuavhengig og lettere å kjøre flere tester samtidig. Ideell for lastetesting.
Begrensninger:
- Det kan ikke etterligne andre nettlesere JavaScript-oppførsel
PhantomJS
PhantomJS er en hodeløs nettleser med JavaScript API. Det er en optimal løsning for Headless Website Testing, få tilgang til og manipulere nettsider og kommer med standard DOM API.
For å kunne bruke PhantomJS med Seleniun, må man bruke GhostDriver. GhostDriver er en implementering av Webdriver Wire-protokollen i enkel JS for PhantomJS.
Den siste utgivelsen av PhatomJS har integrert GhostDriver, og det er ikke nødvendig å installere den separat.
Slik fungerer systemet-
Fremgangsmåte for å kjøre selen med PhatomJS
Trinn 1) Du trenger Eclipse med Selenium installert
Trinn 2) Last ned PhantomJS her
Trinn 3) Pakk ut den nedlastede mappen til programfiler
Trinn 4) Last ned PhantomJS-driveren herfra. Legg glasset til prosjektet ditt
Trinn 5) Lim inn følgende kode i formørkelse
pakke htmldriver;importere java.io.File;importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.WebElement;importer 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 (etter.navn ("q"));element.sendKeys ("Guru99");element.submit ();System.out.println ("Sidetittel er: + driver.getTitle ());driver.quit ();}}
Trinn 6) Kjør koden. Du vil observere at utdataene vises i konsollen og ingen nettlesere startes.
MERKNAD : Ved første kjøring, basert på innstillingene dine, kan du få sikkerhetsadvarsel fra Windows for å tillate å kjøre PhantomJS. Klikk på Tillat tilgang.
Mange organisasjoner bruker Phantom.JS til forskjellige formål, for eksempel
- Hodeløs testing
- Skjermopptak
- Sideautomatisering
- Nettverksovervåking
- Å gjengi skjermbilder av dashbordet til brukerne
- Å kjøre enhetstester på kommandolinjen
- Å generere medarbeiderhåndbøker fra HTML til PDF
- Kombinert med QUnit for testsuiten
Sammendrag
For å teste applikasjonen raskt i forskjellige nettlesere og uten visuelle forstyrrelser, brukes hodeløs nettlesertesting. På grunn av sin hastighet, nøyaktighet og funksjoner som er enkle å få, blir HTML-enhetsdriver og PhantomJS stadig mer populære for hodeløs nettlesertesting. Ved å følge noen enkle trinn får du vite hvor enkelt disse verktøyene kan integreres med andre verktøy og kan utføre testkoden.