what is headless browser
Denne opplæringen forklarer hva som er en hodeløs nettleser, fordelene, eksempler og hodeløs nettlesertesting med selen. Du vil også lære om HtmlUnitDrvier:
I løpet av de siste årene har vi sett at nettet ble utviklet fra enkle til svært avanserte nettsteder bygget med vakker brukergrensesnitt. Kort sagt, i dag styrer JavaScript nettet ekstremt godt, slik at det kan håndtere nesten alle interaksjoner på nettsteder.
I dag kan vi se at nettleserne er så effektive at de enkelt kan forstå hvordan JavaScript skal behandles. I samordning med JavaScript blir en nettleser ivaretatt programmatisk. Hodeløse nettlesere blir ansett som veldig nyttige for testing av nettlesere, ettersom de forbedrer vår innsats.
java koding intervju spørsmål for erfarne
Hva du vil lære:
- Hva er en hodeløs nettleser?
- Konklusjon
Hva er en hodeløs nettleser?
Hodeløs - Å ja, du leste det riktig. Hodeløs, betyr en nettleser uten brukergrensesnitt. For å utdype er hodeløse nettlesere de som faktisk får tilgang til websiden, men GUI er skjult for brukeren.
En hodeløs nettleser er akkurat som enhver annen nettleser, den eneste forskjellen er at vi ikke kan se noe på skjermen. Her kan vi si at programmet faktisk kjører i backend og ingenting kan vises på skjermen. Dermed er det kjent å være den uten hodet / GUI.
Akkurat som en vanlig nettleser utfører en hodeløs nettleser alle funksjonene som å klikke på lenker, navigere på sider, laste ned dokumentet, laste opp et dokument osv. Ved å utføre alle instruksjonene i henhold til vårt program.
En normal nettleser vil fortsette med hvert GUI-presentasjon med hvert trinn i programmet, mens for en hodeløs nettleser utføres alle trinnene i programmet sekvensielt og riktig, og vi kan holde oversikt over det ved hjelp av en konsoll eller kommando- linjegrensesnitt.
Fordeler med hodeløs nettleser
#1) Hodeløse nettlesere brukes når maskinen ikke har noe GUI, det vil si mens du bruker Linux (et operativsystem uten GUI), kjøres via kommandolinjegrensesnittet og faktisk ikke har noe grensesnitt å vise.
#to) Disse kan også brukes i et tilfelle der det ikke er behov for å se på noe, og vårt formål er bare å sikre at alle tester blir utført vellykket linje for linje.
# 3) Når det er behov for å utføre parallelle tester, bruker UI-baserte nettlesere mye minne og / eller ressurser. Derfor foretrekkes her å bruke hodeløs nettleser.
# 4) Hvis vi ønsker å utføre regresjonstesting for de neste kommende utgivelsene med kontinuerlig integrasjon, og vi er ferdige med Cross Browser Testing, kan hodeløs nettlesertesting brukes.
# 5) Hvis vi ønsker å simulere flere nettlesere på en enkelt maskin eller kjøre testtilfeller bare for å opprette data, bruker vi hodeløse nettlesere.
# 6) Sammenlignet med ekte nettlesere er hodeløse nettlesere raskere. Så disse er valgt for raskere utførelse.
Ulemper med hodeløs nettleser
#1) Selv om hodeløse nettlesere er veldig raske, er det fortsatt noen ulemper også. På grunn av sin raskere sideinnlastingsevne, er det noen ganger vanskelig å feilsøke problemene.
#to) Real Browser Testing inkluderer å utføre testsaker i nærvær av GUI. Disse testene blir også utført foran brukeren, og dermed kan brukeren samhandle med teamet, henvise til brukergrensesnittet og diskutere hvor det er behov for endringer eller rettelser. I slike tilfeller kan hodeløse nettlesere ikke brukes.
# 3) Siden hodeløse nettlesere ikke representerer GUI, er det plagsomt å rapportere feil ved hjelp av skjermbilder. En ekte nettleser hjelper til med å presentere feilene ved å generere skjermbilder, ettersom skjermbilder er et must for testing.
# 4) I tilfelle hvor det kreves mye feilsøking i nettlesere, kan bruken av hodeløse nettlesere være utfordrende.
Eksempler på hodeløse nettlesere
Det er forskjellige hodeløse nettlesere.
Nedenfor er noen eksempler:
- HTML-nettlesere
- Firefox
- Chrome
- PhantomJS
- Zombie.js
- TrifleJS
- SlimerJS
- Sprut
- SimpleBrowser
- NodeJS
Hodeløs testing med selen
Selen er et gratis testverktøy med åpen kildekode. Det er et ganske kjent og effektivt automatiseringsverktøy for å utføre automatiseringstester.
hva er den beste gratis virusfjerningen
Selen lar oss skrive testskripter på forskjellige språk som Java, Python, C #, Ruby, Perl, Scala, etc. ved å støtte mange nettlesere som Firefox, Chrome, Internet Explorer, Opera, Safari, etc. og er i stand til å kjøre på Windows , Linux og macOS.
Selenium Webdriver gir god støtte til dynamiske websider, der ulike webelementer endres uten at siden i seg selv blir lastet inn på nytt.
Hodeløs Chrome og Firefox
Både Firefox, så vel som Chrome-nettlesere, støtter hodeløs automatiseringstesting som er en implementering av koden i Firefox og Chrome uten GUI.
Hodeløst Firefox-eksempel
Headless Firefox gir støtte for versjoner som starter 56 og er tilgjengelig på Windows, Linux og macOS. Vi må laste ned filen geckodriver.exe av den nyeste versjonen av Firefox og sørge for at versjonen vi bruker, er større enn den minste versjonen som støttes. Firefox kjører i hodeløs modus via hodeløs () -metoden.
La oss se koden for Firefox-nettleseren i hodeløs modus:
package headless_testing; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class HeadlessFirefox { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.gecko.driver',' E://Selenium/latest firefox exe/geckodriver.exe'); FirefoxOptions options = new FirefoxOptions(); options.setHeadless(true); WebDriver driver = new FirefoxDriver(options); driver.get('www.google.com/'); System.out.println('Executing Firefox Driver in Headless mode..
'); System.out.println('>> Page Title : '+driver.getTitle()); System.out.println('>> Page URL : '+driver.getCurrentUrl()); } }
Når du utfører koden ovenfor for Firefox-nettleseren i hodeløs modus, vises tittelen på siden og URL-en. Koden utføres i hodeløs modus og kan spores på konsollen.
Akkurat som Headless Firefox støttes av Selenium, kjører den også på SlimmerJS og W3C WebDrier.
Hodeløst Chrome-eksempel
Headless Chrome gir støtte for Chrome-versjoner 60 og utover og er tilgjengelig for Windows, Linux og macOS. Vi må laste ned .exe-filen til den nyeste versjonen av Chrome-nettleseren.
innsettingssortering i c ++
Nedenfor er syntaksen for bruk av Chrome i hodeløs modus:
ChromeOptions options = new ChromeOptions(); options.addArguments(“--headless”); OR options.setHeadless(true);
La oss se koden for Chrome Browser i hodeløs modus:
package headless_testing; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; public class HeadlessChrome { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver','E://Selenium/latest chrome exe/chromedriver.exe'); ChromeOptions options = new ChromeOptions(); options.addArguments('--headless'); WebDriver driver = new ChromeDriver(options); driver.get('www.google.com/'); System.out.println('Executing Chrome Driver in Headless mode..
'); System.out.println('>> Page Title : '+driver.getTitle()); System.out.println('>> Page URL : '+driver.getCurrentUrl()); } }
Når du utfører koden ovenfor for Chrome-nettleseren i hodeløs modus, vises tittelen på siden og URL-en. Koden utføres, og utførelsen kan spores på konsollen.
Hodeløs HtmlUnitDriver
Hva er HtmlUnitDriver?
HtmlUnitDriver er en hodeløs nettleser skrevet i Java. Navnet antyder at det er en hodeløs driver som er basert på HtmlUnit. HtmlUnitDriver er en innebygd hodeløs nettleser i Selenium WebDriver. Det regnes som de mest lette og raske nettleserne.
La oss gå videre til implementeringen av HtmlUnitDriver. HtmlUnitDriver JAR-filene kan lastes ned fra den offisielle nettsiden til Selenium.
HtmlUnitDriver i hodeløs modus
Akkurat som alle andre nettlesere, for HtmlUnitDriver også, må vi lage et objekt for klassen for å kjøre koden i hodeløs modus.
package headless_testing; import org.openqa.selenium.WebDriver; import org.openqa.selenium.htmlunit.HtmlUnitDriver; public class HtmUnitDriver { public static void main(String() args) { // TODO Auto-generated method stub WebDriver driver = new HtmlUnitDriver(); driver.get('https://www.google.com/'); System.out.println('Executing HtmlUnitDriver in Headless mode..
'); System.out.println('>> Page Title : '+ driver.getTitle()); System.out.println('>> Page URL : '+ driver.getCurrentUrl()); } }
Når du utfører den ovennevnte koden for HtmlUnitDriver i hodeløs modus, viser mottatte utdata tittelen på siden og dens URL. Utgangen mottas gjennom konsollen der alle funksjonene som utføres i programmet kan sees på trinnvis.
Nedenfor er skjermbildet av den ovenfor utførte koden:
Funksjoner / fordeler med HtmlUnitDriver
(bilde kilde )
- Gir støtte for HTTPS- og HTTP-protokoller.
- Stor støtte for JavaScript.
- Hjelper i multitasking, slik at du kan kjøre flere tester.
- Gir støtte for informasjonskapsler. Støtter også proxy-servere.
- Forbedrer ytelsen og hastigheten til testskriptene, siden den har den raskeste implementeringen av WebDriver.
- HtmlUnitDriver er plattformuavhengig.
- Siden den er hodeløs som standard, støtter den hodeløs testing.
Ulemper med HtmlUnitDriver
- Bruk av HtmlUnitDriver er ikke mulig for komplekse nettsteder.
- Mens det sammenlignes med en ekte nettlesertesting, for hodeløse nettlesere som HtmlUnitDriver, blir det veldig vanskelig å feilsøke skriptet.
- Generering av skjermbilder er ikke mulig med HtmlUnitDriver.
- Hodeløse nettlesere etterligner andre nettlesere.
Konklusjon
Hodeløs nettlesertesting er faktisk raskere, ved å gi stor hastighet og effektivitet, men den klarer ikke å nå ut til noen spesifikke funksjoner som virkelig oppfylles av en ikke-hodeløs / ekte nettleser.
Headless Browser har sine egne fordeler mens Real Browser har sine egne. I henhold til behovet for testing, kan man velge hvilken teknikk som er å foretrekke og gunstig for testeren.
For eksempel: I tilfeller der det er brukerinvolvering, kan du velge Real Browser testing. Hvis det ikke er noen UI-presentasjonskrav for å utføre testingen raskt, kan man gå til Headless Browser testing.
Mer effektiv testing vil være den med en kombinasjon av både hodeløs og ekte nettleser. Dermed overvinne begrensningene for hver enkelt.
Håper denne opplæringen ville ha avklart alle spørsmålene dine om Headless Browser & Headless Browser Testing !!
Anbefalt lesing
- Geb Tutorial - Browser Automation Testing Using Geb Tool
- Parrot QA Tutorial: Cross Browser Functional Testing Tool Review
- Browserstack Tutorial: App and Browser Testing Platform (GUIDE)
- IE Tester Tutorial - Internet Explorer Browser Testing Online
- Lasttesting med ekte nettlesere som bruker Tricentis Flood Element
- Selenium Grid Tutorial: Setup and Example of Cross Browser Testing
- Topp 10 verktøy for testing av tvers av nettlesere i 2021 (siste rangering)
- Hva er Cross Browser Testing og hvordan du utfører det: En komplett guide