what is headless browser
Denne vejledning forklarer, hvad der er en hovedløs browser, dens fordele, eksempler og headless browser-test med selen. Du vil også lære om HtmlUnitDrvier:
I løbet af de sidste par år har vi set internettet blive udviklet fra enkle til meget avancerede hjemmesider bygget med smukke brugergrænseflade. Kort sagt, i dag styrer JavaScript internettet meget godt, så det kan håndtere næsten enhver interaktion på websteder.
I dag kan vi se, at browsere er så effektive, at de let kan forstå, hvordan JavaScript skal behandles. I samordning med JavaScript er en browser håndteret programmatisk. Hovedløse browsere betragtes som meget nyttige til test af webbrowser, da de forbedrer vores indsats.
youtube til mp3-konverter, der fungerer
Hvad du lærer:
- Hvad er en hovedløs browser?
- Konklusion
Hvad er en hovedløs browser?
Hovedløs - Åh ja, du læste det rigtigt. Headless betyder en webbrowser uden brugergrænseflade. For at uddybe, er headless browsere dem, der faktisk får adgang til websiden, men GUI'en er skjult for brugeren.
En hovedløs browser er ligesom enhver anden browser, den eneste forskel er, at vi ikke kan se noget på skærmen. Her kan vi sige, at programmet faktisk kører i backend, og intet kan ses på skærmen. Således er det kendt at være den uden hoved / GUI.
Ligesom en normal browser udfører en hovedløs browser alle funktionerne som at klikke på links, navigere på sider, downloade dokumentet, uploade et dokument osv. Ved at udføre alle instruktionerne i henhold til vores program.
En normal browser fortsætter med hvert trin i programmet med en GUI-præsentation, mens for en hovedløs browser udføres alle trin i programmet sekventielt og korrekt, og vi kan holde styr på det ved hjælp af en konsol eller kommando- line interface.
Fordele ved hovedløs browser
# 1) Hovedløse browsere bruges, når maskinen ikke har nogen GUI, det vil sige mens du bruger Linux (et OS uden GUI), der udføres via kommandolinjegrænsefladen og faktisk ikke har nogen grænseflade, der skal vises.
#to) Disse kan også bruges i et tilfælde, hvor der ikke er behov for at se noget, og vores formål er bare at sikre, at alle tests bliver udført med succes linje for linje.
# 3) Når der er behov for at udføre parallelle tests, bruger UI-baserede browsere en masse hukommelse og / eller ressourcer. Derfor foretrækkes her at bruge headless browser.
# 4) Hvis vi ønsker at udføre regressionstest til de næste kommende udgivelser med kontinuerlig integration, og vi er færdige med Cross Browser Testing, kan Headless browser-test bruges.
# 5) Hvis vi ønsker at simulere flere browsere på en enkelt maskine eller køre testcases kun til oprettelse af data, bruger vi Headless Browsers.
# 6) Sammenlignet med rigtige browsere er headless browsere hurtigere. Så disse er valgt til hurtigere udførelse.
Ulemper ved hovedløs browser
# 1) Selvom headless browsere er meget hurtige, er der stadig også nogle ulemper. På grund af dens hurtigere sideindlæsningsevne er det undertiden vanskeligt at fejle problemerne.
#to) Real Browser Testing omfatter udførelse af testsager i nærværelse af GUI. Disse tests udføres også foran brugeren, hvorfor brugeren kan interagere med teamet, henvise til GUI og diskutere, hvor der altid er behov for ændringer eller rettelser. I et sådant tilfælde kan headless browsere ikke bruges.
# 3) Da hovedløse browsere ikke repræsenterer GUI, er det besværligt at rapportere fejl ved hjælp af skærmbilleder. En rigtig browser hjælper med at præsentere manglerne ved at generere skærmbilleder, da skærmbilleder er et must i test.
bedste driversoftware til Windows 10
# 4) I det tilfælde, hvor der kræves meget browserdebugging, kan brugen af headless browsere være udfordrende.
Eksempler på headless browsere
Der er forskellige headless browsere tilgængelige.
Nedenfor er nogle eksempler:
- HTML-enhedsbrowsere
- Firefox
- Chrome
- PhantomJS
- Zombie.js
- TrifleJS
- SlimerJS
- Plaske
- SimpleBrowser
- NodeJS
Hovedløs test med selen
Selen er et gratis, open source testværktøj. Det er et ganske velkendt og effektivt automatiseringsværktøj til udførelse af automatiseringstest.
Selen giver os mulighed for at skrive testskripts på forskellige sprog som Java, Python, C #, Ruby, Perl, Scala osv. Ved at understøtte adskillige browsere som Firefox, Chrome, Internet Explorer, Opera, Safari osv. Og er i stand til at køre på Windows , Linux og macOS.
Selenium Webdriver giver god support til dynamiske websider, hvor forskellige webelementer ændres uden at selve siden genindlæses.
Hovedløs Chrome og Firefox
Både Firefox såvel som Chrome-browsere understøtter headless automatiseringstest, som er en implementering af koden i Firefox og Chrome uden GUI.
Hovedløst Firefox-eksempel
Headless Firefox understøtter versioner, der starter 56 og er tilgængelige på Windows, Linux og macOS. Vi skal downloade geckodriver.exe-filen i den nyeste version af Firefox og sikre, at den version, vi bruger, er større end den understøttede minimumversion. Firefox kører i hovedløs tilstand via metoden uden hoved ().
Lad os se koden til Firefox-browseren i hovedløs tilstand:
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()); } }
Ved udførelse af ovenstående kode til Firefox Browser i hovedløs tilstand vises titlen på siden og dens URL. Koden udføres i hovedløs tilstand og kan spores på konsollen.
Ligesom Headless Firefox understøttes af Selenium, kører det også på SlimmerJS og W3C WebDrier.
Hovedløst Chrome-eksempel
Headless Chrome yder support til Chrome version 60 og senere og er tilgængelig til Windows, Linux og macOS. Vi skal downloade .exe-filen i den nyeste version af Chrome-browseren.
Nedenfor er syntaksen for brug af Chrome i hovedløs tilstand:
ChromeOptions options = new ChromeOptions(); options.addArguments(“--headless”); OR options.setHeadless(true);
Lad os se koden til Chrome Browser i hovedløs tilstand:
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()); } }
Ved udførelse af ovenstående kode for Chrome-browseren i hovedløs tilstand vises titlen på siden og dens URL. Koden udføres, og udførelsen kan spores på konsollen.
Hovedløs HtmlUnitDriver
Hvad er HtmlUnitDriver?
HtmlUnitDriver er en hovedløs webbrowser skrevet i Java. Navnet antyder, at det er en hovedløs driver, der er baseret på HtmlUnit. HtmlUnitDriver er en indbygget hovedløs browser i Selenium WebDriver. Det betragtes som de mest lette og hurtige browsere.
Lad os gå videre til implementeringen af HtmlUnitDriver. HtmlUnitDriver JAR-filerne kan downloades fra den officielle hjemmeside for Selenium.
HtmlUnitDriver i hovedløs tilstand
Ligesom alle de andre browsere, for HtmlUnitDriver også, er vi nødt til at oprette et objekt til klassen for at køre koden i hovedløs tilstand.
hvad er netværkssikkerhedsnøglen?
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()); } }
Således ved udførelse af ovenstående kode til HtmlUnitDriver i hovedløs tilstand viser den modtagne output titlen på siden og dens URL. Outputtet modtages via konsollen, hvor alle de funktioner, der udføres i programmet, kan ses trinvis.
Nedenfor er skærmbilledet af den ovenfor udførte kode:
Funktioner / fordele ved HtmlUnitDriver
(billede kilde )
- Giver support til HTTPS- og HTTP-protokoller.
- Stor understøttelse af JavaScript.
- Hjælper med multitasking, hvilket muliggør at køre flere tests.
- Giver support til cookies. Understøtter også proxyservere.
- Forbedrer ydeevnen og hastigheden af testskripts, da den har den hurtigste implementering af WebDriver.
- HtmlUnitDriver er platformuafhængig.
- Da det er Headless som standard, understøtter det Headless Testing.
Ulemper ved HtmlUnitDriver
- Brugen af HtmlUnitDriver er ikke mulig for komplekse websteder.
- Mens man sammenligner med en rigtig browsertestning, for headless browsere som HtmlUnitDriver, bliver det meget vanskeligt at debugge scriptet.
- Generering af skærmbilleder er ikke mulig med HtmlUnitDriver.
- Hovedløse browsere efterligner andre browsere.
Konklusion
Hovedløs browsertestning er faktisk hurtigere ved at give stor hastighed og effektivitet, men den når ikke ud til nogle specifikke funktioner, der faktisk opfyldes af en ikke-hovedløs / rigtig browser.
Headless Browser har sine egne fordele, mens Real Browser har sine egne. I henhold til behovet for test kan man vælge, hvilken teknik der er at foretrække og gavnlig for testeren.
For eksempel: I det tilfælde, hvor der findes brugerinddragelse, kan Real Browser-test vælges. Hvis der ikke er krav til UI-præsentation for at udføre testen hurtigt, kan man gå til Headless Browser-test.
Mere effektiv test ville være den med en kombination af både Headless såvel som Real Browser. Dermed overvinde begrænsningerne for hver enkelt.
Håber, at denne vejledning ville have afklaret alle dine forespørgsler om Headless Browser & Headless Browser Testing !!
Anbefalet læsning
- Geb Tutorial - Browserautomatiseringstest ved hjælp af Geb Tool
- Parrot QA Tutorial: Cross Browser Functional Testing Tool Review
- Browserstack Tutorial: App og browser testplatform (GUIDE)
- IE Tester-vejledning - Internet Explorer-browsertestning online
- Belastningstestning med rigtige browsere ved hjælp af Tricentis Flood Element
- Selen Grid Tutorial: Opsætning og eksempel på test af tværbrowser
- Top 10 Cross Browser Testværktøjer i 2021 (Seneste placering)
- Hvad er Cross Browser Testing og hvordan man udfører det: En komplet guide