JMeter, Pruebas de stress sobre aplicaciones web: Grabando y reproduciendo navegaciones

En este tutorial Carlos García nos enseñará a grabar y reproducir navegaciones con JMeter, para poder realizar pruebas de carga o stress sobre aplicaciones Web

JMeter, pruebas de stress sobre aplicaciones web: Grabando y reproduciendo navegaciones

Introducción.

En este tutorial vamos a mostrar como grabar sobre Apache JMeter una navegación real sobre una aplicación web para posteriormente poder reproducirla con distintos número de usuarios concurrentes con el fin de obtener información de como se comporta nuestra aplicación bajo esas situaciones.

Empezemos

Ejecutamos jmeter y realizamos los siguientes pasos:

    1. Agregar un grupo de hilos para indicar el número de usuarios concurrentes y de repeticiones que posteriormente ejecutarán la navegación que grabaremos.

      Para ello selecciona el plan de pruebas haces clic con el botón derecho del ratón y seleccionas la opción

      Text
      Add » Thread Group

      .

    2. Si tu aplicación usa cookies deberás agregar un gestor de cookies al grupo de hilos, para ello seleccionas el grupo de hilos, haces clic con el botón derecho y seleccionas
      Text
      Add » Config Element » HTTP Cookie Manager.

      Hay un tipo de

      Text
      Cookie Manager

      por cada tipo de cookie:

      Text
      rfc2119, netscape, etc.

      .

    3. Agregar un gestor de cabeceras al grupo de hilos, para ello seleccionas el grupo de hilos, haces clic con el botón derecho y seleccionas
      Text
      Add » Config Element » HTTP Header Manager.
    4. Agregar un gestor de caché al grupo de hilos, para ello seleccionas el grupo de hilos, haces clic con el botón derecho y seleccionas
      Text
      Add » Config Element » HTTP Cache Manager.
    5. Agregar los informes que desees
      Text
      (Add » Listener » <el informe que desees>)

      para tratar los resultados obtenidos al ejecutar el test.

    6. Agregar un
      Text
      HTTP Proxy Server

      , para ello seleccionas el

      Text
      WorkBench

      y luego haces clic en

      Text
      Add » Non-Test-Element » HTTP Proxy Server

      El HTTP Proxy grabará todas las peticiones http (las https NO) que vayamos realizando posteriormente con nuestro navegador, para ello debemos hacer las configuraciones que se muestran resaltadas en la siguiente imagen:

      1. El parámetro
        Text
        port

        indica el puerto en el que escuchará las peticiones a grabar (posteriormente diremos al navegador que navege a través de ese puerto).

      2. El parámetro
        Text
        Target controller

        indica que grupo de hilos (puede haber varios) serán el que ejecuten posteriormente la navegación.

      3. El parámetro
        Text
        Grouping

        indica como se agruparán una petición y las subpeticiones relacionadas, por ejemplo: Una página HTML, hace que se soliciten imágenes, JS, CSS, etc.

      4. El parámetro
        Text
        HTTP Sampler Type

        , indica el API de cliente que usaremos para enviar las peticiones..

        HTTPClient que ofrece más posibilidades. Puedes ver un tutorial aquí.

      Ampliar imagen

    7. Configuras tu navegador favorito para que navege a través de un proxy, por ejemplo para FireFox, deberás dirigirte al menú
      Text
      Herramientas » Opciones » Avanzado » pestaña Red:

      Sí estás probando una aplicación en tu máquina local, también deberás usar el proxy, por lo que deberás borrar el contenido del cuadro de texto

      Text
      No usar proxy para

      .

    8. Haces click en el botón
      Text
      Start

      que se encuentra en el panel de configuración de

      Text
      HTTP Proxy Server

      y comienzas a navegar por la aplicación web.

      En la siguiente imagen se muestra una navegación básica de cinco páginas de una aplicación Web construida con PHP:

Ahora podrás reproducir lo grabado M veces con N usuarios, revisar los informes y sacar conclusiones en base a ellos.

Conclusiones

Desde mi punto de vista JMeter es una de esas aplicaciónes de código abierto con grandes posibilidades pero con carencias en cuanto a documentación… por lo que para sacarle todo su potencial hay que tirarse horas probando para exprimir sus posibilidades.

Grabando y reproduciendo navegaciones junto con los informes apropiados y otras técnicas y herramientas (Glassbox, JMX..) podemos tener información suficiente para realizar optimizaciones en nuestros sistemas.

Si tus sistemas no van todo lo rápido que te gustaría, te animo a que contactes con nosotros (Autentia) y seguramente consigamos incrementar en poco tiempo el rendimiento en un alto porcentaje.

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.

cgpcosmad@gmail.com

Comentarios

12 respuestas

  1. Esta aplicación tiene algun listado de incompatibilidades con algunos lenguajes o procedimientos, por ejemplo Javascript, AJAX , etc.?

    Gracias por la ayuda de antemano.
    Saludos Cordiales.

  2. El tutorial está muy bueno, solo que me gustaría saber como hacer un análisis de los resultados de rendimiento. Existe algún standar para decir si es bueno o no el rendimiento de una aplicación web.

  3. Excelente tutorial, tengo una consulta.. las computadoras ya tiene definido un ip en el proxy, quisiera saber si eso afecta al jmeter porque estoy intentando grabar los escenario y no sale nada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Técnico especialista en informática de empresa (CEU). Ingeniero Técnico en Informática de Sistemas (UPM) Creador de MobileTest, Haaala!, Girillo, toi18n. Charla sobre desarrollo de aplicaciones en Android. @cgpcosmad

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

Imagen con fondo abstracto azul y el texto “Adictos al Trabajo” centrado.

11/02/2026

Rubén Gavilán Fernández

El autoescalado de runners en GitLab CI permite adaptar dinámicamente la capacidad de ejecución de los pipelines a la carga real de trabajo. En este artículo analizamos la arquitectura del Docker Autoscaler executor y mostramos un ejemplo práctico de autoescalado sobre AWS, optimizando rendimiento, costes y operativa DevOps.

30/10/2025

Benjamín Suárez Menéndez

El Complex Problem Solving (CPS) es un proceso estructurado basado en herramientas, técnicas y actitudes que nos facilita la resolución de problemas complejos.

03/10/2025

Miguel García Rodríguez

Descubre cómo el diseño y la psicología del comportamiento utilizan sesgos cognitivos para influir en la toma de decisiones de los usuarios y potenciar la persuasión.