maxresdefault

Pruebas Automatizadas Headless


En esta entrada vamos a ver una práctica que se ubica en una zona gris entre las capas de IU y Servicios en nuestra pirámide de pruebas automatizadas ya que no involucra a la IU pero prueba funcionalidad.

¿Que es un Headless Browser?

Es un navegador web sin una interfaz gráfica de usuario (Se ejecuta en memoria). En otras palabras, es un navegador, una pieza de software, que accede a las páginas web, pero no se las muestra a nadie. Entiende a las páginas web como un navegador común lo haría y puede interactuar con ellas de la misma forma. Comúnmente vemos como nuestras pruebas automatizadas levantan un navegador (IE, FF, Chrome, etc…) y ejecutan diferentes acciones en pantalla, en el caso de los Headless Browsers esta ejecución es muy similar salvo que no vemos las acciones en pantalla.

¿Por qué aplicarlo?

Algunas de las situaciones donde vamos a aplicarlo son:

  • Cuando se requiere un rápido feedback de las pruebas. Con la ejecución de pruebas en IU para cada ejecución necesitamos que se levante un browser en pantalla para poder realizar las pruebas y esto lleva mucho tiempo (algunos browsers tardan más de 10 seg en abrir dependiendo de la maquina).
  • No se dispone de navegadores con IU. Un caso sería en el que se trabaja con una herramienta de build en un servidor que no tiene ningún navegador instalado. Así que para ejecutar un nivel básico de pruebas después de cada build  se puede usar un headless browser.
  • Cuando es necesario un script automatizado que recorra las diferentes páginas del sistema bajo pruebas y recolecte datos de las mismas. En este caso no hay necesidad de abrir un navegador ya que todo lo que necesitas es tener acceso a las páginas.

Ventajas

  • Increíblemente rápido. Al correr en memoria no requiere de toda la preparación que que sucede al abrir un navegador gráfico.
  • Se pueden tomar screenshots como en una prueba automatizada normal.
  • Los tests que se corren contra la UI se pueden adaptar fácilmente para correr headless.
  • Selenium Webdriver tiene el ghostDriver lo que facilita aplicarlo si trabajamos con WebDriver.

Desventajas

  • No es un navegador real, por lo que no se debe abusar de su uso y no reemplaza a las pruebas automatizadas de IU, las complementa y busca dar un feedback más rápido acerca del estado de una aplicación bajo pruebas.
  • La implementación de javascript es muy diferente de un navegador a otro, por lo que puede ocasionar inconvenientes.

¿Que opciones tengo?

Existen una gran cantidad de Headless Browsers, les dejo una lista de los más utilizados por lenguaje:

¿Te gustaría alguna aclaración? ¿Te Parece que falta algo? Deja tu comentario!!!


Te gustó el post? Quieres contribuir para que escriba más?
Contribute with the Blog

Un pensamiento en “Pruebas Automatizadas Headless”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s