Configurar jMeter para usarlo con Django y CSRF

Share this postShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someonePin on PinterestDigg thisShare on RedditShare on StumbleUpon

Hacer pruebas de carga a una aplicación desarrollada en Django con jMeter puede ser problemático ya que Django requiere un token CSRF (Cross-Site Request Forgery) en las peticiones POST (a no ser que lo hayas desactivado, por su puesto). Con este tutorial, aprenderás a realizar pruebas de carga con Django y jMeter utilizando el archivo jMeter que te he preparado. 🤓

1) Descarga el archivo jMeter para Django.⬇️

Después de descargar el archivo, hay algunas cosas que tienes que hacer.

2) Introduce el URL de la applicación que vas a probar con jMeter en Test Plan -> Thread Group -> HTTP Request Defaults -> Server Name or IP

3) Abre el primer HTTP Request y cambia la ruta (path) a la vista (view) en que has utilizado el tag de plantilla {% csrf_token %}. O sea, la página en que tienes ningún formulario que se envía mediante POST. Si no tienes un formulario de ese tipo y todas las peticiones POST se realizan mediante JavaScript, puedes añadir el tag {% csrf_token %} en cualquier lugar de la plantilla. Solamente creará un campo invisible con el token CSRF para que el Regular Expression Extractor lo pueda encontrar para realizar las pruebas POST con jMeter.

4) Ahora, abre la segunda HTTP Request. Esto es dónde vamos a configurar la prueba de la petición POST. Introduce la ruta al URL donde quieras enviar la petición POST. También hay que especificar los parámetros POST. Como lo puedes ver, el token CSRF ya está definido como un parámetro aquí desde el primer HTTP Request.

5) Cuando haces clic en el botón ejecutar (la flecha verde), verás los resultados en View Results in Table y View Results Tree. Si ocurren errores con el token CSRF, puede que tengas que ajustar la expresión regular en el primer HTTP Request. Es posible que el output del tag de plantilla {% csrf_token %} es diferente dependiendo de la versión de Django.

Eso fue todo.☺️ Cuado parece que todo está funcionando bien, puedes añadir más usuarios a la simulación en Test Plan -> Thread Group cambiando el parámetro Number of Threads.

Related Post

Share this postShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInEmail this to someonePin on PinterestDigg thisShare on RedditShare on StumbleUpon