what is headless browser
Tento tutoriál vysvetľuje, čo je bezhlavý prehliadač, jeho výhody, príklady a testovanie bezhlavého prehliadača so selénom. Dozviete sa tiež o HtmlUnitDrvier:
Za posledných pár rokov sme boli svedkami toho, ako sa web vyvíjal od jednoduchých po vysoko pokročilé webové stránky postavené na krásnom používateľskom rozhraní. Stručne povedané, v súčasnosti JavaScript ovláda web mimoriadne dobre, aby zvládol takmer každú interakciu na webových stránkach.
Dnes vidíme, že prehľadávače sú také účinné, že ľahko pochopia, ako spracovať JavaScript. V koordinácii s JavaScriptom sa programovo stará o prehliadač. Bezhlavé prehliadače sa pri testovaní webového prehliadača považujú za veľmi užitočné, pretože zlepšujú naše úsilie.
c ++ zoznam susedstiev neorientovaný graf
Čo sa dozviete:
- Čo je bezhlavý prehliadač?
- Záver
Čo je bezhlavý prehliadač?
Bezhlavý - Ach áno, čítate to dobre. Bezhlavý, znamená webový prehliadač bez používateľského rozhrania. Inými slovami, bezhlavé prehľadávače sú tie, ktoré skutočne pristupujú na webovú stránku, ale grafické používateľské rozhranie je pred používateľom skryté.
Bezhlavý prehliadač je ako každý iný prehliadač, rozdiel je iba v tom, že na obrazovke nič nevidíme. Tu môžeme povedať, že program skutočne beží v backende a na obrazovke sa nedá nič zobraziť. Je teda známe, že ide o ten, ktorý nemá Head / GUI.
Rovnako ako bežný prehľadávač, aj bezhlavý prehliadač vykonáva všetky funkcie, ako je klikanie na odkazy, navigácia po stránkach, sťahovanie dokumentu, nahrávanie dokumentu atď., Vykonávaním všetkých pokynov podľa nášho programu.
Bežný prehliadač by pokračoval v každom kroku programu s prezentáciou GUI, zatiaľ čo v prípade bezhlavého prehliadača sa všetky kroky programu uskutočňovali postupne a správne a my ich môžeme sledovať pomocou konzoly alebo príkazového riadku. linkové rozhranie.
Výhody bezhlavého prehliadača
# 1) Bezhlavé prehľadávače sa používajú, keď stroj nemá grafické používateľské rozhranie, to znamená, že keď sa systém Linux (OS bez grafického používateľského rozhrania) vykonáva prostredníctvom rozhrania príkazového riadku, nemá vlastne žiadne rozhranie na zobrazenie.
#dva) Môžu sa tiež použiť v prípade, že nie je potrebné nič prezerať, a naším cieľom je iba zabezpečiť, aby sa všetky testy úspešne vykonávali riadok po riadku.
# 3) Ak je potrebné vykonať paralelné testy, prehľadávače založené na používateľskom rozhraní spotrebúvajú veľa pamäte a / alebo zdrojov. Preto sa tu uprednostňuje použitie bezhlavého prehliadača.
# 4) Ak chceme vykonať regresné testovanie pre ďalšie nadchádzajúce vydania s nepretržitou integráciou a sme hotoví s Cross Browser Testing, je možné použiť testovanie bezhlavého prehliadača.
# 5) Ak chceme simulovať viac prehľadávačov na jednom počítači alebo spustiť testovacie prípady len na vytvorenie údajov, použijeme bezhlavé prehliadače.
# 6) V porovnaní so skutočnými prehľadávačmi sú bezhlavé prehľadávače rýchlejšie. Takže sú vybrané pre rýchlejšie vykonanie.
Nevýhody bezhlavého prehliadača
# 1) Aj keď sú bezhlavé prehliadače veľmi rýchle, stále majú určité nevýhody. Kvôli rýchlejšej schopnosti načítania stránky je niekedy ťažké problémy odladiť.
#dva) Testovanie skutočného prehliadača zahŕňa vykonávanie testovacích prípadov za prítomnosti grafického používateľského rozhrania. Tieto testy sa tiež vykonávajú pred používateľom, takže používateľ môže interagovať s tímom, odkázať na grafické používateľské rozhranie a prediskutovať, kde sú niekedy potrebné zmeny alebo opravy. V takom prípade nemožno použiť Headless Browsers.
# 3) Pretože bezhlavé prehliadače nepredstavujú grafické používateľské rozhranie, je ťažké hlásiť chyby pomocou snímok obrazovky. Real Browser pomáha prezentovať chyby generovaním snímok obrazovky, pretože snímky obrazovky sú pri testovaní nevyhnutnosťou.
# 4) V prípade, že sa vyžaduje veľa ladenia prehľadávača, môže byť použitie bezhlavých prehľadávačov náročné.
Príklady bezhlavých prehľadávačov
K dispozícii sú rôzne bezhlavé prehľadávače.
Nižšie je uvedených niekoľko príkladov:
- Prehliadače jednotiek HTML
- Firefox
- Chrome
- PhantomJS
- Zombie.js
- TrifleJS
- SlimerJS
- Splash
- SimpleBrowser
- NodeJS
Bezhlavé testovanie so selénom
Selén je bezplatný nástroj na testovanie open-source. Je to celkom známy a efektívny automatizačný nástroj na vykonávanie automatizačných testov.
Selén nám umožňuje písať testovacie skripty v rôznych jazykoch, ako sú Java, Python, C #, Ruby, Perl, Scala atď., Podporuje množstvo prehľadávačov, ako je Firefox, Chrome, Internet Explorer, Opera, Safari atď., A je schopný pracovať v systéme Windows , Linux a macOS.
Selenium Webdriver poskytuje dobrú podporu dynamickým webovým stránkam, kde sa rôzne webové prvky menia bez toho, aby bola stránka znovu načítaná.
Bezhlavý Chrome a Firefox
Prehliadač Firefox aj Chrome podporuje prehľadávanie automatizácie bez hlavy, čo je implementácia kódu vo prehliadačoch Firefox a Chrome bez grafického používateľského rozhrania.
unixové shell skriptovacie príkazy s príkladmi
Príklad bezhlavého prehliadača Firefox
Headless Firefox poskytuje podporu pre verzie od 56 a je k dispozícii pre Windows, Linux a macOS. Musíme si stiahnuť súbor geckodriver.exe najnovšej verzie prehliadača Firefox a zabezpečiť, aby verzia, ktorú budeme používať, bola väčšia ako minimálna podporovaná verzia. Firefox beží v bezhlavom režime pomocou metódy bezhlavé ().
Pozrime sa na kód prehliadača Firefox v bezhlavom režime:
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()); } }
Po vykonaní vyššie uvedeného kódu pre prehliadač Firefox v režime bez hlavy sa zobrazí nadpis stránky a jej adresa URL. Kód sa vykonáva v bezhlavom režime a je možné ho sledovať v konzole.
Rovnako ako selenium podporuje Headless Firefox, funguje aj na SlimmerJS a W3C WebDrier.
Príklad bezhlavého prehliadača Chrome
Headless Chrome poskytuje podporu pre verzie Chrome 60 a novšie a je k dispozícii pre systémy Windows, Linux a macOS. Musíme si stiahnuť súbor .exe najnovšej verzie prehliadača Chrome.
Ďalej je uvedená syntax používania prehliadača Chrome v bezhlavom režime:
ChromeOptions options = new ChromeOptions(); options.addArguments(“--headless”); OR options.setHeadless(true);
Pozrime sa na kód prehliadača Chrome v bezhlavom režime:
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()); } }
Po vykonaní vyššie uvedeného kódu pre prehliadač Chrome v režime bez hlavy sa zobrazí názov stránky a jej adresa URL. Kód sa vykoná a vykonanie sa dá sledovať v konzole.
Bezhlavý ovládač HtmlUnitDriver
Čo je HtmlUnitDriver?
HtmlUnitDriver je bezhlavý webový prehliadač napísaný v prostredí Java. Názov naznačuje, že ide o bezhlavý ovládač, ktorý je založený na HtmlUnit. HtmlUnitDriver je vstavaný bezhlavý prehliadač v selenovom webovom ovládači. Považuje sa za najľahší a najrýchlejší prehľadávač.
Prejdime k implementácii HtmlUnitDriver. Súbory HtmlUnitDriver JAR je možné stiahnuť z oficiálnej webovej stránky Selenium.
ako spustiť súbor SWF
HtmlUnitDriver v bezhlavom režime
Rovnako ako všetky ostatné prehľadávače, aj pre HtmlUnitDriver musíme vytvoriť pre triedu objekt na spustenie kódu v bezhlavom režime.
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()); } }
Po vykonaní vyššie uvedeného kódu pre HtmlUnitDriver v bezhlavom režime teda prijatý výstup zobrazí nadpis stránky a jej adresu URL. Výstup je prijímaný cez konzolu, kde je možné postupne sledovať všetky funkcie vykonávané v programe.
Nižšie je uvedený screenshot vyššie vykonaného kódu:
Vlastnosti / výhody HtmlUnitDriver
[obrázok zdroj ]
- Poskytuje podporu pre protokoly HTTPS a HTTP.
- Skvelá podpora pre JavaScript.
- Pomáha pri multitaskingu a umožňuje tak spustiť viac testov.
- Poskytuje podporu pre súbory cookie. Podporuje tiež proxy servery.
- Zlepšuje výkon a rýchlosť testovacích skriptov, pretože má najrýchlejšiu implementáciu WebDriver.
- HtmlUnitDriver je nezávislý na platforme.
- Pretože je predvolene bezhlavý, podporuje bezhlavé testovanie.
Nevýhody HtmlUnitDriver
- Používanie HtmlUnitDriver nie je možné pre zložité webové stránky.
- Pri porovnaní so skutočným testovaním prehľadávača je pre bezhlavé prehliadače ako HtmlUnitDriver ladenie skriptu veľmi náročné.
- Generovanie snímok obrazovky nie je s nástrojom HtmlUnitDriver možné.
- Bezhlavé prehliadače emulujú iné prehliadače.
Záver
Testovanie bezhlavého prehliadača je v skutočnosti rýchlejšie, pretože poskytuje veľkú rýchlosť a efektivitu, nedosahuje však niektoré konkrétne funkcie, ktoré skutočne spĺňajú iné ako bezhlavé / skutočné prehliadače.
Bezhlavý prehliadač má svoje vlastné výhody, zatiaľ čo skutočný prehliadač má svoje vlastné. Podľa potreby testovania je možné zvoliť ktorúkoľvek z techník, ktorá je pre testera výhodnejšia a prospešnejšia.
Napríklad: V prípade zapojenia používateľa je možné zvoliť testovanie v reálnom prehliadači. Ak neexistujú žiadne požiadavky na prezentáciu používateľského rozhrania, ktoré by umožnili rýchle vykonanie testovania, je možné prejsť na testovanie bezhlavého prehliadača.
Efektívnejšie by bolo testovanie s kombináciou bezhlavého aj skutočného prehliadača. Tým prekonáva obmedzenia každého jednotlivo.
Dúfam, že vám tento návod vysvetlí všetky otázky týkajúce sa bezhlavého prehliadača a testovania bezhlavého prehliadača !!
Odporúčané čítanie
- Výukový program Geb - Testovanie automatizácie prehľadávača pomocou nástroja Geb
- Výukový program pre Parrot QA: Kontrola funkčného testovacieho nástroja naprieč prehliadačmi
- Výukový program o prehliadači balíkov: Platforma na testovanie aplikácií a prehliadačov [PRÍRUČKA]
- Výukový program pre IE Tester - Testovanie prehliadača Internet Explorer online
- Testovanie záťaže s reálnymi prehľadávačmi pomocou povodňového prvku Tricentis
- Výukový program pre selenovú mriežku: Nastavenie a príklad testovania medzi prehliadačmi
- Top 10 nástrojov na krížové prehliadanie v roku 2021 (posledné hodnotenie)
- Čo je to Cross Browser Testing a ako ho vykonávať: Kompletný sprievodca