what is headless browser
Aquest tutorial explica què és un navegador sense cap, els seus avantatges, exemples i proves de navegador sense cap amb seleni. També aprendreu sobre HtmlUnitDrvier:
Durant els darrers anys, hem vist com el web evolucionava de llocs web senzills a llocs web molt avançats, construïts amb una interfície d’usuari preciosa. En resum, avui dia JavaScript controla molt bé el web perquè pugui gestionar gairebé totes les interaccions dels llocs web.
Avui podem veure que els navegadors són tan eficients que poden entendre fàcilment com processar JavaScript. En coordinació amb JavaScript, s’utilitza un navegador per programació. Els navegadors sense cap es consideren molt útils per a les proves de navegadors web, ja que milloren els nostres esforços.
El fitxer swf no s’obre en Chrome
Què aprendreu:
- Què és un navegador sense cap?
- Conclusió
Què és un navegador sense cap?
Sense cap - Oh, sí, ho has llegit bé. Sense cap, significa un navegador web sense interfície d'usuari. Per elaborar, els navegadors sense cap són aquells que realment accedeixen a la pàgina web, però la GUI està oculta a l'usuari.
Un navegador sense cap és com qualsevol altre navegador, l’única diferència és que no podem veure res a la pantalla. Aquí podem dir que el programa realment s’executa al dorsal i que no es pot veure res a la pantalla. Per tant, se sap que és el que no té cap cap / GUI.
Igual que un navegador normal, un navegador sense cap realitza totes les funcions com fer clic a enllaços, navegar per pàgines, descarregar el document, penjar un document, etc. mitjançant la realització de totes les instruccions segons el nostre programa.
Un navegador normal procediria a cada pas del programa amb una presentació de la GUI, mentre que per a un navegador sense cap tots els passos del programa es realitzen de manera seqüencial i correcta i podem fer-ne un seguiment amb l'ajuda d'una consola o ordre. interfície de línia.
Avantatges del navegador sense cap
# 1) Els navegadors sense cap s’utilitzen quan la màquina no té cap GUI, és a dir, mentre s’utilitza Linux (un sistema operatiu sense GUI) s’executa a través de la interfície de línia d’ordres i en realitat no té cap interfície per mostrar.
# 2) A més, es poden utilitzar en un cas en què no cal veure res i el nostre propòsit és assegurar-nos que totes les proves s’executin amb èxit línia per línia.
# 3) Quan cal executar proves paral·leles, els navegadors basats en la interfície d’usuari consumeixen molta memòria i / o recursos. Per tant, aquí es prefereix utilitzar el navegador sense cap.
# 4) Si volem realitzar proves de regressió per a les properes versions amb integració contínua i ja hem acabat amb la prova de navegador creuat, es poden fer proves de navegador sense cap.
# 5) Si volem simular diversos navegadors en una mateixa màquina o executar casos de prova només per a la creació de dades, fem servir navegadors sense cap.
# 6) En comparació amb els navegadors reals, els navegadors sense cap són més ràpids. Per tant, s’escullen per a una execució més ràpida.
Desavantatges del navegador sense cap
# 1) Tot i que els navegadors sense cap són molt ràpids, també hi ha alguns desavantatges. A causa de la capacitat de càrrega de pàgines més ràpida, de vegades és difícil depurar els problemes.
# 2) Les proves reals del navegador inclouen realitzar casos de prova en presència de GUI. A més, aquestes proves es realitzen davant de l'usuari, de manera que l'usuari pot interactuar amb l'equip, remetent la interfície gràfica d'usuari i discutir on es necessiten canvis o correccions. En aquest cas, no es poden utilitzar navegadors sense cap.
# 3) Com que els navegadors sense cap representen la interfície gràfica d’usuari, és difícil informar d’errors amb l’ajut de captures de pantalla. Un navegador real ajuda a presentar els defectes generant captures de pantalla ja que les captures de pantalla són imprescindibles a les proves.
# 4) En el cas que es requereixi molta depuració del navegador, l’ús de navegadors sense cap pot ser un repte.
Exemples de navegadors sense cap
Hi ha diversos navegadors Headless disponibles.
A continuació es detallen alguns exemples:
proves alfa i beta en enginyeria de programari
- Navegadors d’unitats HTML
- Firefox
- Chrome
- PhantomJS
- Zombie.js
- TrifleJS
- SlimerJS
- Splash
- SimpleBrowser
- NodeJS
Proves sense cap amb seleni
El seleni és una eina gratuïta de proves de codi obert. És una eina d’automatització bastant coneguda i eficient per realitzar proves d’automatització.
Selenium ens permet escriure scripts de prova en diversos llenguatges com Java, Python, C #, Ruby, Perl, Scala, etc. donant suport a nombrosos navegadors com Firefox, Chrome, Internet Explorer, Opera, Safari, etc. i és capaç d’executar-se a Windows , Linux i macOS.
Selenium Webdriver proporciona un bon suport a les pàgines web dinàmiques, on diversos elements web canvien sense que la pàgina es recarregui.
Chrome i Firefox sense cap
Tant Firefox, com els navegadors Chrome, admeten proves d'automatització sense cap, que és una implementació del codi a Firefox i Chrome sense interfície gràfica d'usuari.
Exemple de Firefox sense cap
Headless Firefox proporciona suport per a versions a partir de 56 i està disponible a Windows, Linux i macOS. Hem de descarregar el fitxer geckodriver.exe de la darrera versió de Firefox i assegurar-nos que la versió que farem servir és superior a la versió mínima admesa. Firefox funciona en mode sense cap mitjançant el mètode headless ().
Vegem el codi del navegador Firefox en mode Headless:
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()); } }
En executar el codi anterior per al navegador Firefox en mode Headless, es mostrarà el títol de la pàgina i el seu URL. El codi s’executa en mode sense cap i es pot fer un seguiment a la consola.
Igual que Selenium admet el Headless Firefox, també funciona amb SlimmerJS i W3C WebDrier.
Exemple de Chrome sense cap
Chrome sense capçalera és compatible amb les versions 60 i posteriors de Chrome i està disponible per a Windows, Linux i macOS. Hem de descarregar el fitxer .exe de la versió més recent del navegador Chrome.
A continuació es mostra la sintaxi per utilitzar Chrome en mode sense cap:
ChromeOptions options = new ChromeOptions(); options.addArguments(“--headless”); OR options.setHeadless(true);
Vegem el codi del navegador Chrome en mode sense cap:
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()); } }
En executar el codi anterior per al navegador Chrome en mode Headless, es mostrarà el títol de la pàgina i el seu URL. El codi s'executa i es pot fer un seguiment de l'execució a la consola.
HtmlUnitDriver sense cap
Què és HtmlUnitDriver?
HtmlUnitDriver és un navegador web Headless escrit en Java. El nom suggereix que és un controlador Headless basat en HtmlUnit. HtmlUnitDriver és un navegador integrat sense cap a Selenium WebDriver. Es considera el navegador més lleuger i ràpid.
Passem a la implementació de HtmlUnitDriver. Els fitxers JAR HtmlUnitDriver es poden descarregar des del lloc web oficial de Selenium.
HtmlUnitDriver en mode sense cap
Igual que tots els altres navegadors, per a HtmlUnitDriver també, hem de crear un objecte perquè la classe executi el codi en mode sense cap.
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()); } }
Així, en executar el codi anterior per a HtmlUnitDriver en mode sense cap, la sortida rebuda mostra el títol de la pàgina i el seu URL. La sortida es rep a través de la consola, on es poden veure totes les funcions realitzades al programa de manera gradual.
A continuació es mostra la captura de pantalla del codi executat anteriorment:
Funcions / avantatges d’HtmlUnitDriver
(imatge font )
- Proporciona compatibilitat amb protocols HTTPS i HTTP.
- Gran suport per a JavaScript.
- Ajuda a la multitarea, permetent així executar diverses proves.
- Proporciona assistència per a les cookies. A més, admet servidors intermediaris.
- Millora el rendiment i la velocitat dels scripts de prova, ja que té la implementació més ràpida de WebDriver.
- HtmlUnitDriver és independent de la plataforma.
- Com que és Headless per defecte, admet les proves Headless.
Desavantatges de HtmlUnitDriver
- L’ús d’HtmlUnitDriver no és possible per a llocs web complexos.
- Tot i comparar-lo amb una prova real del navegador, per a navegadors sense cap, com HtmlUnitDriver, es fa molt difícil per depurar l'script.
- La generació de captures de pantalla no és possible amb HtmlUnitDriver.
- Els navegadors sense cap imiten altres navegadors.
Conclusió
De fet, les proves del navegador sense cap són més ràpides, ja que proporcionen una gran velocitat i eficiència, però no aconsegueixen algunes funcions específiques que realment compleixen els navegadors reals sense cap.
com obrir fitxers .bin a Windows 10
El navegador sense cap té els seus propis avantatges, mentre que el navegador real en té els propis. Segons la necessitat de fer proves, es pot triar qualsevol tècnica que sigui preferible i beneficiosa per al provador.
Per exemple: En el cas que hi hagi implicació de l'usuari, es pot escollir la prova del navegador real. Si no hi ha requisits de presentació d’interfície d’usuari per realitzar les proves ràpidament, es pot optar per la prova del navegador sense cap.
Les proves més eficients serien aquelles amb una combinació tant de Headless com de Real Browser. Superant així les limitacions de cadascun d’ells individualment.
Espero que aquest tutorial hagi aclarit totes les vostres preguntes sobre el navegador sense cap i les proves del navegador sense cap.
Lectura recomanada
- Tutorial Geb: proves d'automatització del navegador mitjançant l'eina Geb
- Tutorial de Parrot QA: revisió de l'eina de proves funcionals de diversos navegadors
- Tutorial Browserstack: Plataforma de proves d'aplicacions i navegadors (GUIA)
- Tutorial IE Tester: proves en línia del navegador Internet Explorer
- Prova de càrrega amb navegadors reals que utilitzen l'element d'inundació Tricentis
- Tutorial de la xarxa de seleni: configuració i exemple de proves de navegadors creuats
- Top 10 eines de proves de navegadors creuats el 2021 (darrer rànquing)
- Què és la prova de navegadors creuats i com realitzar-la: una guia completa