Software

Load testing servidores web mediante el selenio, una herramienta de prueba funcional web browser

Si nos fijamos en la carga del servidor web tradicionales herramientas, Jmeter, como corredor de carga de prueba usted notará un patrón de diseño básico para recrear grandes volúmenes de tráfico web. Con estas herramientas un programa multi roscada abre sockets TCP y lugares (a través de llamadas a la API) solicitudes HTTP directamente en los zócalos. De esta manera se puede simular el volumen requerido de tráfico HTTP sin la sobrecarga de corriente navegadores web. Por lo general alrededor de 500 llamados 'usuarios virtuales' pueden ser simulados desde un PC Pentium 4 con alrededor de 1GB de RAM. Si 'navegadores reales' debían ser ejecutados en paralelo en el mismo equipo solamente alrededor 6 navegadores podrían ser simulados. Por estas razones el enfoque de recrear el tráfico HTTP en procesos multi-threaded, llamar a la API, se ha mantenido popular durante los últimos 15 años más o menos.

Aunque el HTTP enfoque impulsado por sigue siendo popular hoy en día ha surgido otra alternativa viable para simular grandes volúmenes de tráfico web, y este enfoque involucra la ejecución de varios navegadores 'cabeza' en paralelo a recrear el tráfico de navegador de web requiere for load testing el servidor web.

El navegador 'cabeza' del término se refiere a un navegador web completamente funcional, en términos de las API necesarias para comunicarse con el servidor web, pero sin la parte de la interfaz de usuario. Hay un número de navegadores sin cabeza libremente disponibles (por ejemplo HTMLUNIT y PhantomJS) y éstos se pueden todos ser mediante programación para interactuar con el servidor web de la misma manera que un navegador real sería. Mientras que estos navegadores no tiene una GUI son extremadamente útiles para el envío de solicitudes a un servidor Web con el fin de analizar los resultados para la captura de pantalla, monitoreo de red o automatización de la página general.

Selenio WebDriver es una herramienta automatizada de prueba "funcional" que simula las acciones del usuario en un navegador web como Firefox o Internet Explorer. El selenio también puede simular acciones contra HTMLUNIT. Teniendo en cuenta el recurso huella (CPU y memoria) de HTMLUNIT es mucho menos que un navegador tradicional varias instancias (ejecutadas como hilos) de selenio por navegadores HTMLUNIT pueden ejecutarse en una sola computadora para dirigir el tráfico web for load testing un servidor web. Por lo general alrededor de 25 navegadores sin cabeza pueden conducir desde un PC de Pentium 4 con 1GB de ram. De esta manera alrededor de 500 usuarios virtuales pueden ser simulados con técnica de PC (o máquinas virtuales), haciendo de este 25 de conducir el tráfico del servidor web viable para muchos load testing proyectos.

Para ejecutar varias instancias de Selenium WebDriver usando la técnica sin cabeza un multi roscada marco de Java se requiere. Para ello bastará con Jmeter o la amoladora open source carga prueba Marcos.

Aunque no apto para simular extremadamente grandes volúmenes de tráfico de la web el enfoque de navegador sin cabeza se deben considerar cuando de otra manera sería difícil recrear el tráfico requerido utilizando los controladores HTTP. Situaciones donde la carga del navegador enfoque es ventajosa incluye páginas web que utilizan reescritura de url para el manejo de sesiones o donde se requiere la simulación de tráfico precisa. El enfoque de navegador sin cabeza recreará el tráfico web que está más cercano de tráfico navegador real, que el producido por los marcos tradicionales de controlador HTTP.