Correlación en JMeter

Índice
¿Qué es la correlación y por qué es necesaria?
La correlación es el aspecto más importante del scripting. Suele consistir en recuperar datos dinámicos de solicitudes/invocaciones anteriores y enviarlos a solicitudes posteriores.
Pongamos un ejemplo para ver exactamente por qué necesitamos una correlación. Supongamos que hemos vivido una situación en la que:
- ->El usuario introduce los datos de acceso y pulsa OK
- ->Se abre la página de inicio y el usuario realiza otras acciones
Si ahora reproducimos este escenario, la prueba fallará incluso para un solo usuario. Esto se debe al mecanismo de autenticación utilizado. Cuando nos conectamos a un sitio web, las variables de sesión se crean dinámicamente. Estas variables de sesión se transmiten a otras peticiones y ayudan a verificar y autenticar las acciones que se realizan. Así que no es posible simplemente grabar y reproducir las peticiones que tienen estas variables. En este caso, necesitamos vincular las peticiones web con variables dinámicas. Y para la correlación tenemos que utilizar «Extractor de Expresiones Regulares», que utiliza expresiones regulares. Así que, antes de profundizar en la correlación, entendamos primero las «expresiones regulares».
Breve introducción a las expresiones regulares
Las expresiones regulares se utilizan para recuperar datos de una cadena basándose en un patrón de búsqueda. Básicamente, para obtener cualquier valor (normalmente un valor creado dinámicamente) de una respuesta de cadena, definimos un cuadro delimitador izquierdo para la variable, luego algunos comodines y, a continuación, un cuadro delimitador derecho:
(Límite izquierdo)(Caracteres comodín)(Límite derecho)Ej. si tenemos una respuesta de texto como-…__EVENTVALIDATION «value=»weriudflsdfspdfusdjhsdihffgdfgpdfjsdjfpj» />…
Y necesitamos obtener el valor de la variable Validación de Eventos utilizando expresiones regulares; la expresión regular para esto será:
__EVENTVALIDATION" value="(.+?)" /> where, Left Bound = __EVENTVALIDATION" value=" Wildcard characters = (.+?) Right Bound = " />
Si no quieres profundizar en las expresiones regulares, los comodines (.+?) bastarán en la mayoría de los casos. Para obtener más información sobre las expresiones regulares y el significado de cada uno de los caracteres comodín, consulta el sitio web Información sobre expresiones regulares.
Extractor de expresiones regulares
Volvamos a la aplicación JMeter y consideremos un ejemplo en el que tenemos dos operaciones:
- El usuario inicia una página web
- El usuario rellena los datos y pulsa OK
Ahora se llama «Sitio web de lanzamiento de usuario» (Iniciar el sitio web del usuario) crea una variable dinámica – «eventVvalidation» (Verificación de eventos), que podemos comprobar en la pestaña Datos de respuesta (Detalles de la respuesta) en el oyente (oyente) «Ver árbol de resultados» para esta llamada. El valor de esta variable se pasa a las llamadas posteriores relacionadas con «El usuario rellena los datos y pulsa el botón Aceptar» como parámetro Http post.
Pasos para correlacionar valores de verificación de sucesos:
- Ejecuta el script que contiene las dos operaciones anteriores.
- Ve a la pestaña Respuesta (modo texto) de la lista «Ver árbol de resultados» de la operación «Usuario lanza sitio web». En la siguiente figura, podemos ver que la segunda operación «El usuario rellena los datos y pulsa OK» está en rojo porque todavía no está correlacionada.

- Crea una expresión regular para extraer el valor de la variable de validación Evento. Como se ha indicado anteriormente, el R.E. para este fin:
__EVENTVALIDATION» value=»(.+?)» />
- Navega hasta la petición http dentro del controlador de transacciones «User Launch Website» -> Añadir -> Post Processor -> Extractor de Expresiones Regulares.

Añadir el control «Extractor de expresiones regulares

Parámetros del extractor R.E. rellenado
- El nombre de la referencia anidada es el nombre de la variable creada que capturará el valor de validación del evento generado por la petición http como parte de la operación «Usuario lanza sitio web».
- Ahora pasa esta variable a la petición http posterior como petición de post en la operación «El usuario rellena los datos y pulsa el botón Aceptar» – sobrescribe el valor ya presente codificado de la variable Validación de Evento.

Solicitud sin correlación (Valores codificados)

Petición(solicitud) con correlación (valores dinámicos)
- Ejecuta de nuevo el plan de pruebas. ¡Todo verde! Eso es todo.