{"id":1927,"date":"2024-01-19T10:00:00","date_gmt":"2024-01-19T09:00:00","guid":{"rendered":"https:\/\/ittester.sk\/sin-categorizar\/correlometro\/"},"modified":"2024-06-25T16:00:09","modified_gmt":"2024-06-25T14:00:09","slug":"correlometro","status":"publish","type":"post","link":"https:\/\/ittester.sk\/es\/pruebas-de-rendimiento\/tutorial-de-jmeter\/correlometro\/","title":{"rendered":"Correlaci\u00f3n en JMeter"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>\u00cdndice<\/strong><\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-co-je-korelacia-a-preco-je-potrebna\">\u010co je korel\u00e1cia a pre\u010do je potrebn\u00e1?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-strucny-nahlad-do-regularnych-vyrazov\">Stru\u010dn\u00fd n\u00e1h\u013ead do regul\u00e1rnych v\u00fdrazov<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-extraktor-regularnych-vyrazov\">Extraktor regul\u00e1rnych v\u00fdrazov<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-je-korelacia-a-preco-je-potrebna\">\u00bfQu\u00e9 es la correlaci\u00f3n y por qu\u00e9 es necesaria?<\/h2>\n\n<p>La correlaci\u00f3n es el aspecto m\u00e1s importante del scripting. Suele consistir en recuperar datos din\u00e1micos de solicitudes\/invocaciones anteriores y enviarlos a solicitudes posteriores.<\/p>\n\n<p>Pongamos un ejemplo para ver exactamente por qu\u00e9 necesitamos una correlaci\u00f3n. Supongamos que hemos vivido una situaci\u00f3n en la que:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>-&gt;El usuario introduce los datos de acceso y pulsa OK<\/li>\n\n\n\n<li>-&gt;Se abre la p\u00e1gina de inicio y el usuario realiza otras acciones<\/li>\n<\/ul>\n\n<p>Si ahora reproducimos este escenario, la prueba fallar\u00e1 incluso para un solo usuario. Esto se debe al mecanismo de autenticaci\u00f3n utilizado. Cuando nos conectamos a un sitio web, las variables de sesi\u00f3n se crean din\u00e1micamente. Estas variables de sesi\u00f3n se transmiten a otras peticiones y ayudan a verificar y autenticar las acciones que se realizan. As\u00ed 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\u00e1micas. Y para la correlaci\u00f3n tenemos que utilizar \u00abExtractor de Expresiones Regulares\u00bb, que utiliza expresiones regulares. As\u00ed que, antes de profundizar en la correlaci\u00f3n, entendamos primero las \u00abexpresiones regulares\u00bb.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-strucny-nahlad-do-regularnych-vyrazov\">Breve introducci\u00f3n a las expresiones regulares<\/h2>\n\n<p>Las expresiones regulares se utilizan para recuperar datos de una cadena bas\u00e1ndose en un patr\u00f3n de b\u00fasqueda. B\u00e1sicamente, para obtener cualquier valor (normalmente un valor creado din\u00e1micamente) de una respuesta de cadena, definimos un cuadro delimitador izquierdo para la variable, luego algunos comodines y, a continuaci\u00f3n, un cuadro delimitador derecho:<\/p>\n\n<p>(L\u00edmite izquierdo)(Caracteres comod\u00edn)(L\u00edmite derecho)Ej. si tenemos una respuesta de texto como-&#8230;__EVENTVALIDATION \u00abvalue=\u00bbweriudflsdfspdfusdjhsdihffgdfgpdfjsdjfpj\u00bb \/&gt;&#8230;<\/p><p>Y necesitamos obtener el valor de la variable Validaci\u00f3n de Eventos utilizando expresiones regulares; la expresi\u00f3n regular para esto ser\u00e1:<\/p>\n\n<pre class=\"wp-block-code\"><code><p><strong>__EVENTVALIDATION\" value=\"(.+?)\" \/&gt;&nbsp;where, Left Bound = __EVENTVALIDATION\" value=\"&nbsp;Wildcard characters = (.+?)&nbsp;Right Bound = \" \/&gt;<\/strong><\/p><\/code><\/pre>\n\n<p>Si no quieres profundizar en las expresiones regulares, los comodines (.+?) bastar\u00e1n en la mayor\u00eda de los casos. Para obtener m\u00e1s informaci\u00f3n sobre las expresiones regulares y el significado de cada uno de los caracteres comod\u00edn, consulta el <a href=\"http:\/\/www.regular-expressions.info\/tutorialcnt.html\" target=\"_blank\" rel=\"noopener nofollow\" title=\"\">sitio web Informaci\u00f3n sobre expresiones regulares<\/a>.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-extraktor-regularnych-vyrazov\">Extractor de expresiones regulares<\/h2>\n\n<p>Volvamos a la aplicaci\u00f3n JMeter y consideremos un ejemplo en el que tenemos dos operaciones:<\/p>\n\n<ol class=\"wp-block-list\">\n<li>El usuario inicia una p\u00e1gina web<\/li>\n\n\n\n<li>El usuario rellena los datos y pulsa OK<\/li>\n<\/ol>\n\n<p>Ahora se llama \u00abSitio web de lanzamiento de usuario\u00bb (Iniciar el sitio web del usuario) crea una variable din\u00e1mica &#8211; \u00abeventVvalidation\u00bb (Verificaci\u00f3n de eventos), que podemos comprobar en la pesta\u00f1a Datos de respuesta (Detalles de la respuesta) en el oyente (oyente) \u00abVer \u00e1rbol de resultados\u00bb para esta llamada. El valor de esta variable se pasa a las llamadas posteriores relacionadas con \u00abEl usuario rellena los datos y pulsa el bot\u00f3n Aceptar\u00bb como par\u00e1metro Http post.<\/p>\n\n<p>Pasos para correlacionar valores de verificaci\u00f3n de sucesos:<\/p>\n\n<ol class=\"wp-block-list\">\n<li>Ejecuta el script que contiene las dos operaciones anteriores.<\/li>\n\n\n\n<li>Ve a la pesta\u00f1a Respuesta (modo texto) de la lista \u00abVer \u00e1rbol de resultados\u00bb de la operaci\u00f3n \u00abUsuario lanza sitio web\u00bb. En la siguiente figura, podemos ver que la segunda operaci\u00f3n \u00abEl usuario rellena los datos y pulsa OK\u00bb est\u00e1 en rojo porque todav\u00eda no est\u00e1 correlacionada.<\/li>\n<\/ol>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"516\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-1-1290-650-1024x516.webp\" alt=\"\" class=\"wp-image-786\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-1-1290-650-1024x516.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-1-1290-650-300x151.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-1-1290-650-768x387.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-1-1290-650.webp 1290w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Crea una expresi\u00f3n regular para extraer el valor de la variable de validaci\u00f3n Evento. Como se ha indicado anteriormente, el R.E. para este fin:<\/li>\n<\/ol>\n\n<p><strong>__EVENTVALIDATION\u00bb value=\u00bb(.+?)\u00bb \/&gt;<\/strong><\/p>\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Navega hasta la petici\u00f3n http dentro del controlador de transacciones \u00abUser Launch Website\u00bb -&gt; A\u00f1adir -&gt; Post Processor -&gt; Extractor de Expresiones Regulares.<\/li>\n<\/ol>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"521\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-2-1080-550-1024x521.webp\" alt=\"\" class=\"wp-image-788\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-2-1080-550-1024x521.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-2-1080-550-300x153.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-2-1080-550-768x391.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-2-1080-550.webp 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<p>A\u00f1adir el control \u00abExtractor de expresiones regulares<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"456\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-3-1100-490-1024x456.webp\" alt=\"\" class=\"wp-image-790\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-3-1100-490-1024x456.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-3-1100-490-300x134.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-3-1100-490-768x342.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-3-1100-490.webp 1100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<p>Par\u00e1metros del extractor R.E. rellenado<\/p>\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>El nombre de la referencia anidada es el nombre de la variable creada que capturar\u00e1 el valor de validaci\u00f3n del evento generado por la petici\u00f3n http como parte de la operaci\u00f3n \u00abUsuario lanza sitio web\u00bb.<\/li>\n\n\n\n<li>Ahora pasa esta variable a la petici\u00f3n http posterior como petici\u00f3n de post en la operaci\u00f3n \u00abEl usuario rellena los datos y pulsa el bot\u00f3n Aceptar\u00bb &#8211; sobrescribe el valor ya presente codificado de la variable Validaci\u00f3n de Evento.<\/li>\n<\/ol>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-4-1160-580-1024x512.webp\" alt=\"\" class=\"wp-image-792\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-4-1160-580-1024x512.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-4-1160-580-300x150.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-4-1160-580-768x384.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-4-1160-580.webp 1160w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>Solicitud sin correlaci\u00f3n (Valores codificados)<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"593\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-5-1140-660-1024x593.webp\" alt=\"\" class=\"wp-image-794\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-5-1140-660-1024x593.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-5-1140-660-300x174.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-5-1140-660-768x445.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/korelacia-screenshot-5-1140-660.webp 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p>Petici\u00f3n(solicitud) con correlaci\u00f3n (valores din\u00e1micos)<\/p>\n\n<ol class=\"wp-block-list\" start=\"7\">\n<li>Ejecuta de nuevo el plan de pruebas. \u00a1Todo verde! Eso es todo.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>La correlaci\u00f3n es el aspecto m\u00e1s importante del scripting. Se trata de recuperar datos din\u00e1micos y enviarlos a las siguientes peticiones.<\/p>\n","protected":false},"author":8,"featured_media":1933,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[38],"tags":[],"class_list":["post-1927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-de-jmeter"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/comments?post=1927"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1927\/revisions"}],"predecessor-version":[{"id":1936,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/1927\/revisions\/1936"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media\/1933"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media?parent=1927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/categories?post=1927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/tags?post=1927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}