Hola de nuevo Esta publicación está dedicada al lanzamiento del curso
de Automatización de pruebas web , que comienza esta semana. ¡Disfruta leyendo!
¿Qué es la prueba sin cabeza?La prueba sin cabeza es un lanzamiento en el navegador de una prueba para el rendimiento de cualquier componente de la interfaz de usuario sin mostrar esta interfaz de usuario. Dicha prueba inicia scripts en el navegador, pero no se inicia y no muestra la interfaz de usuario por sí misma.

¿Por qué podría necesitar usar navegadores sin cabeza? Este enfoque tiene muchos pros y contras. El uso de un navegador sin cabeza puede no ser muy útil para navegar por la red, pero es indispensable para automatizar tareas y pruebas.
¿Por qué usar un navegador sin cabeza?Seguir el dinero es un cliché, sin embargo, sigo pensando que este es un indicador clave de la aparición de tendencias y, por lo tanto, a lo que definitivamente debe prestar atención. Por ejemplo, Sauce Labs acaba de lanzar un nuevo servicio llamado Sauce Headless, una solución basada en la nube para probar sus soluciones sin cabeza.
Sé que las personas en Sause son personas inteligentes. No desarrollarán nada por nada. Necesitan recibir comentarios de los usuarios para comprender que cualquier funcionalidad es necesaria.
Estoy seguro de que no estarán solos en su búsqueda para desarrollar pruebas sin cabeza.
A medida que avanzamos en el ciclo de vida del desarrollo de software, los evaluadores deben proporcionar comentarios a los desarrolladores cada vez más rápido. Una forma de lograr esto es realizar comprobaciones rápidas con un navegador sin cabeza.
Automatización en desarrollo de software.Estoy a favor de la automatización con todas las manos, pero la automatización no se trata solo de pruebas.
Esta es una historia sobre todos los aspectos que puede automatizar para ahorrar tiempo o esfuerzo en el ciclo de vida del desarrollo de software, control de calidad o pruebas, DevOps o instalación. Los navegadores sin cabeza son una de las poderosas herramientas de automatización.
Los navegadores sin cabeza son más rápidos que los navegadores normalesUna de las diferencias más importantes entre los navegadores sin cabeza y los navegadores normales es su velocidad. El hecho es que cuando carga una página en un navegador sin una GUI, no necesita perder tiempo cargando CSS, JavaScript y renderizando HTML.
No diría que la diferencia será enorme, pero en algunos casos puede rastrear el aumento de la velocidad a la mitad o incluso a 15. Por lo tanto, si el rendimiento es importante para usted, un navegador sin cabeza será una buena opción.
Raspado con un navegador sin cabezaOtra ventaja de los navegadores sin cabeza es su capacidad para recopilar datos de
sitios web . Para hacer esto, no tiene que iniciar manualmente el navegador. Puede usar tecnología sin cabeza para simplemente desechar HTML. Y renderizar todo el navegador es completamente opcional.
Digamos que su caso requiere estadísticas deportivas o comparaciones de precios en varios sitios.
Como solo necesita datos, no tiene sentido lanzar una esencia de navegador completa y cargar innecesariamente la máquina, ya que cuanto menos carga, más rápido obtendrá el resultado. Puede que no sea necesariamente una prueba, solo necesita usar la herramienta adecuada para trabajar. En general, creo que los evaluadores en vano subestiman los navegadores sin cabeza en su campo.
Por lo tanto, si necesita obtener datos de una página web, no necesita abrirlos y cargar más abriendo un navegador, toda la funcionalidad necesaria es capaz de proporcionar un navegador sin cabeza.
Ahorre tiempo de desarrolladorSé que muchos desarrolladores usan navegadores sin cabeza para probar sus sitios y aplicaciones. La capacidad de usarlo desde la línea de comandos sin actualizar o iniciar manualmente el navegador les ahorra mucho tiempo y esfuerzo. Por ejemplo,
Rob Frizzel , autor de
PhantomJS CookBook en una entrevista con
TestTalks, explicó por qué sus desarrolladores usan el navegador sin cabeza PhantomJS:
"Aunque PhantomJS en sí no es un marco de prueba, es un útil" rayo de luz en una mina de carbón "que da confianza; si se pasan todas las pruebas, entonces tendrá mucha más confianza de que su código es realmente bueno ".
Monitoreo de rendimiento con scripts de navegador sin cabezaOtra opción para usar un navegador sin cabeza es monitorear el rendimiento de las aplicaciones de red.
Algunos incluso los usan para automatizar el renderizado y tomar capturas de pantalla de la pantalla de un sitio web para probar diseños en un estilo automatizado.
Creo que esta es una de las razones por las que Google ha desarrollado una nueva API de Chrome sin cabeza llamada
Puppeteer . Está dirigido principalmente a ayudar a los desarrolladores.
Ideas clave Prueba de navegador sin cabezaAdemás de la idea anterior, también hay otras opciones para usar navegadores sin cabeza, que les contaré ahora:
- Ejecute pruebas en una máquina sin monitor;
- Ajuste de datos;
- Prueba SSL;
- Simulación de múltiples navegadores en una máquina;
- Ejecutar pruebas en un sistema sin cabeza, como Linux sin una GUI;
- Recepción y visualización de archivos PDF;
- Prueba de marcado, ya que los navegadores sin cabeza pueden representar HTML y CSS como navegadores completos, por lo que puede probarlos con estilos.
Casos en los que no desea utilizar un navegador sin cabezaPor supuesto, hay momentos en los que es posible que desee utilizar un navegador completo en lugar de un navegador sin cabeza. Por ejemplo:
- Necesita simular usuarios reales;
- Necesita ver cómo funciona la prueba;
- Si necesita depurar, esto puede ser complicado con un navegador sin cabeza.
Navegadores sin cabeza populares- Google Puppeteer - Headless Browser Puppeteer es una biblioteca de nodos. Proporciona una API de alto nivel para controlar Chrome o Chromium sin cabeza utilizando el protocolo DevTools. También se puede configurar para usar Chrome o cromo completo (sin cabeza).
- Google Chrome desde la versión 59;
- Firefox versiones 55 y 56;
- PhantomJS : kit web sin cabeza en la API de JavaScript. Tiene soporte rápido y nativo para varios estándares web: procesamiento de árbol DOM, selectores CSS, JSON, Canvas y formato SVG. * Ahora no es compatible. Debido a esto, es posible que no quieras usarlo.
- HtmlUnit es un navegador sin una GUI para el código Java. Modela documentos HTML y proporciona una API que le permite abrir páginas, completar formularios, hacer clic en enlaces, etc. Así como en su navegador "normal".
- Splinter : Splinter es un navegador sin cabeza orientado a Python. Es de código abierto y se usa para probar aplicaciones web usando Python. Por ejemplo, puede usarlo para automatizar las acciones del navegador, como visitar páginas web e interactuar con sus elementos.
- jBrowserDriver : un controlador de navegador web integrado y programable compatible con la especificación Selenium WebDriver: sin cabeza, basado en WebKit, en Java puro.
¿Cuándo debe usar un navegador sin cabeza para realizar pruebas?La respuesta a esta pregunta depende del propósito de su prueba.
Por un lado, la gente suele decir: “Nunca use navegadores sin cabeza. Un usuario real nunca lo usará, entonces, ¿por qué debería hacerlo? Aunque, por otro lado, escuchamos: "Siempre debe usar un navegador sin cabeza, porque es más rápido y más rápido en las pruebas, significa mejor"
Como sabemos, cada posición tendrá partidarios y oposición, pero aquí solo se trata de elegir las herramientas adecuadas para resolver ciertos problemas.
Recuerde que debe usar la herramienta óptima para el trabajo y siempre preguntarse cómo afectará esto al usuario final, debe preguntarse cuál es el propósito de la prueba cada vez que elige entre estos dos puntos de vista.
De acuerdo con la tradición establecida, estamos esperando sus comentarios, y también recordamos que en unas horas habrá un
día abierto , donde podrá conocer en detalle nuestro curso.