You are on page 1of 4

Performance Testing con JMeter: Paso por Paso para grabar escenarios

En esta segunda Parte de JMeter: Performance Testing con JMeter vamos a ver como utilizar JMeter para GRABAR escenarios. La idea es profundizar el documento oficial de JMeter que pueden encontrar en la web oficial llamado JMeter Proxy step by step. Primero que todo cabe aclarar que como lo que el Proxy hace es grabar los requests que son enviados al servidor no pueden ser grabados aquellos request que utilicen HTTPS, ya que como el HTTPS es seguro, el Proxy no puede decodificar el trafico y grabar los parmetros o coockies que maneje el servidor. Para estos casos les recomiendo utilizar Bad Boy la cual es una herramienta gratis y muy fcil de utilizar (Luego de grabar el escenario tiene la opcin de exportar a JMeter ). Para facilitar el entendimiento y escritura de esta gua vamos a dividirla en 2 partes:

Paso por Paso para grabar escenarios Profundizando los controles utilizados Paso por Paso para grabar escenarios Primero que todo necesitamos ejecutar JMeter, para esto ejecutamos el archivo jmeter.bat (requerimientos de JMeter) que se encuentra en la carpeta bin. Una vez que ya tenemos JMeter corriendo los pasos son los siguientes: Seleccionamos el Plan de Pruebas (Test Plan) y con click derecho seleccionamos Aadir (add) para luego seleccionar el elemento que estamos buscando: Grupo de Hilos (Thread Group) Plan de Pruebas->Aadir->Grupo de Hilos Seleccionamos el Grupo de Hilos (Thread Group) y con click derecho seleccionamos Aadir-> Elementos de Configuracin para elegir el control Valores por Defecto para Peticin HTTP (Http Request Defaults) Grupo de Hilos->Aadir->Elementos de Configuracin->Valores por Defecto para Peticin HTTP Nos posicionamos en el control Valores por Defecto para Peticin HTTP (Http Request Defaults) para ingresar la informacin sobre nuestro ambiente de pruebas (la mas bsico): Protocolo: ingresamos el protocolo utilizado por la aplicacin donde se realizaran las pruebas (por default es HTTP) Nombre de Servidor o IP: nombre o IP del servidor donde corre la aplicacin. Puerto: Puerto por el cual se accede a la aplicacin (al valor que ingresemos aqu lo vamos a llamar Puerto de la aplicacin En este control podemos utilizar los siguientes valores para realizar una prueba simple: Nombre de Servidor o IP: jakarta.apache.org Puerto: 8080

o o o

Ejemplo de como quedara para probar contra la pagina de JMeter

Seleccionamos el Banco de Trabajo (Workbench) y con click derecho seleccionamos Aadir-> Elemento NodePrueba para luego seleccionar el elemento que estamos buscando: Servidor Proxy HTTP (Http Proxy Server). Banco de Trabajo->Aadir->Elemento NodePrueba->Servidor Proxy HTTP Seleccionamos el Servidor Proxy HTTP (Http Proxy Server) y lo configuramos para nuestras pruebas: Puerto: Puerto que vamos a capturar para realizar la grabacin (ingresamos el Puerto de la aplicacin) Controlador Objetivo: Seleccionamos el destino de todos los HTTP Request que se crearan durante la grabacin del escenario. (seleccionamos la opcin: Plan de Pruebas->Grupo de Hilos)

o o

Agrupacin: Esta opcin determina como quedaran agrupados los HTTP Request que se crearan durante la grabacin del escenario. (Dejamos la opcin por default: No agrupar Muestradores) URL Patrones a Excluir: esta lista de expresiones regulares nos permite excluir los HTTP Request que no son relevantes para las pruebas y que por lo tanto no queremos grabar. Hacemos click en Aadir los que nos creara una linea en blanco donde escribimos el patrn a excluir por medio de una expresin regular. Lo mas utilizado es: .* : indica que filtrara todo \.gif: indica que filtrara todo string que termine en .gif Esto nos deja la siguiente lista de patrones a excluir: .*\.gif .*\.png .*\.jpg .*\.png .*\.css .*\.js Claro esta, que estos patrones van a variar dependiendo de la aplicacin que queremos testear.

Ejemplo de como quedara el control Servidor Proxy

o o

El siguiente paso es configurar el explorer para poder realizar la grabacin, para esto abrimos el navegador y vamos a Tools->internet Options->Connections->LAN Settings. En la seccion Proxy Server tildamos el check y escribimos en los campos: Address: localhost port: Puerto de la aplicacin (por ejemplo 8080)

Configuracin del Explorer

Aplicamos la nueva configuracin ingresada. Si bien no es necesario, podemos ingresar la direccin de nuestra aplicacin como pagina de inicio del navegador para arrancar la grabacin apenas abramos este. Una vez configurado JMETER y el Explorer (puede usarse cualquier navegador, solo es necesario configurar el proxy del mismo) vamos a JMeter y en el control Servidor Proxy HTTP presionamos el botn Arrancar y luego ingresamos la direccin de la aplicacin en nuestro navegador (por ejemplo http://jakarta.apache.org/jmeter/index.html). Recorremos las pantallas de nuestra aplicacin segn el escenario a grabar y cuando terminamos vamos a JMeter y presionamos el botn Parar. Importante: No te olvides de sacar el Proxy en el navegador ya que si JMeter no esta corriendo y sigue activado el proxy no podrs navegar. Luego de detener el proxy el Test Plan se parece a esto:

As se vera nuestro Test Plan luego de recorrer algunas paginas Con los pasos previos ya tenemos grabado nuestro escenario de pruebas. El prximo paso es agregar Listener para verificar el correcto funcionamiento del mismo.

Seleccionamos el Grupo de Hilos (Thread Group) y con click derecho seleccionamos Aadir-> Listener->Ver rbol de Resultados. En el Grupo de Hilos (Thread Group) dejamos los valores que vienen por default. (1 usuario que ingresa una vez luego de 1 segundo)

Configuracin por default del Grupo de Hilos El ultimo paso es correr el escenario para luego verificar los resultados. Podemos iniciar la corrida con CRT + R o ingresando en Lanzar->Arrancar. Mientras JMeter este corriendo podemos observar el indicador en el margen superior derecho que indica el estado corriendo cuando esta en verde y detenido cuando esta en gris junto con la cantidad de VU que esta corriendo sobre el total (cantidad actual de VU/total de VU)

Indicador de que JMeter esta ejecutando el escenario Luego de que JMeter se detenga seleccionamos el arbol de resultados y observamos si la prueba fue exitosa o no, para saber eso solo basta con que cada request tenga un triangulo verde en la parte izquierda del control:

Se observa que el escenario grabado funciona correctamente En prximas entradas vamos a profundizar acerca del funcionamiento de cada control y como optimizar el Test Plan.

Como un adicional a esta entrada les agrego 2 videos: Grabacin de Test Plan con Jmeter Grabacin de Test Plan con Bad Boy Esos son vdeos que sub a you tube, espero que les ayude con JMeter.