English

Jmeter – Correlation – Regex Extractor

Algunos compañeros de estudios de la Universidad y colegas del trabajo, últimamente me han contactado y hemos tratado algunos temas relacionado al testing de performance y por supuesto aspectos relacionados con nuestro amigo en común “Jmeter”. Hay un elemento en común que muchas veces pasamos por alto cuando estamos ejecutando testing de performance avanzado, y este tiene que ver con el término “Correlación”. Trataré de explicarlo acá y así poder compartirlo con la mayoría.

La correlación es uno de los aspectos más importante de la parametrización de scripts. Por lo general, incluye ir a buscar los datos dinámicos de las anteriores peticiones y añadirlas actualizadas en las peticiones siguientes.

Cuando a través del Jmeter realizamos las grabaciones de los scripts, los valores  dinámicos grabados estarán como estáticos ya que pertenecen a esta grabación en particular. Al ejecutar los scripts estaremos enviando en las peticiones (Get o Post) los mismos valores grabados, y no los parámetros dinámicos como requiere el sistema.

Para actualizar estos parámetros tenemos que tener presente usar en Jmeter “Regular Expression Extractor” en español Extractor de Expresiones Regulares.

Este permite extraer valores de una respuesta del servidor utilizando una expresión regular. Se recomienda usar además el elemento “Debug Procesador” para un mejor entendimiento del uso de las expresiones regulares.

Pongamos un ejemplo. Tenemos dos peticiones relacionadas con el Login de un sistema:

  • 1. Get: http\\:login.index
  • 2. Post: http\\:login.index

En el Post(2), se envían los parámetros: usuario, password, y “SessionID” Este último parámetro es dinámico, por lo que tenemos que obtener el valor en la respuesta del pedido anterior (Get: http\\:login.index). Ahora debemos observar en qué lugar de la respuesta de este Get devuelve el valor “SessionID”. Una vez que lo tengamos identificado agregamos un  “Extrator de Expresiones regulares” dentro de esta petición.

Imagen1.Extrator de Expresiones regulares

Elementos generales del Extrator de Expresiones regulares:

  • Response Field to check: De donde será extraído el valor que buscamos (Body, URL, Headers entre otros) Se Recomiends usar alguna herramienta para poder obtener los pedidos y/o respuestas de las peticiones, se puede utilizar el firebug. Con esto podemos saber dónde se encuentra el valor de la variable que se desea extraer para llevar a cabo la correlación.
  • Reference Name: Nombre de la variable donde quedará almacenado el valor extraído.
  • Regular Expression: Expresión regular que usaremos para extraer el valor deseado. Se debe especificar la expresión regular entre paréntesis ()

Las peticiones en el Jmeter irán quedando de la siguiente manera:

Imagen2. Peticiones en el Jmeter

Ahora nos ubicamos  en la petición “Post del Login” específicamente en los parámetros del pedido y en donde se encuentra el valor de la “SessionID” colocamos ${SessionID}.

Imagen3. Parámetros del “Post Login”

Ejecutamos el script, y verificamos que haya sido extraída la expresión regular en el elemento “Debug Procesador”.

Imagen4.  Expresión regular Extraída

About Delvis Echeverria

Leave a Reply

Your email address will not be published.