Extracción del cid y viewstate con Jmeter

A veces la vida de las personas que hacemos pruebas de rendimiento es complicada, en especial, cuando nos encontramos frente a un framework de desarrollo poco amigable en términos de comprensibilidad en la conformación de las peticiones http.

La aplicación hacía muchas redirecciones, peticiones ajax, llenado de campos en automático, uso de tablas, etc.

Seam construye de una manera particular las vistas, para ello se apoya en dos variables: cid y viewstates. Los valores de éstos son únicos y por lo tanto, el software de estrés debe ser capaz de reescribir esta variable...pero sí no lo hace, hay que realizar unos cuantos pasos adicionales.

Yo uso Jmeter, así que sólo será válido mi procedimiento para este software. Lo primero que debemos hacer es agregar a cada página .seam dos post-processor: Regular Expression Extractor. Uno para cid y otro para el viewstate.

A continuación se muestra el cómo deben configurarse los extractores. El nombre por el cual lo ubicaremos, la expresión regular que capturará el valor correcto en tiempo de ejecución y la estructura que tendrá éste.





Echemos un vistazo cómo lucen las peticiones http en los elementos que son de nuestro interés. Notar que los podemos encontrar por el nombre de los parámetros. El caso de cid es demasiado fácil, mientras que en los viewstates (javax.faces.ViewState) a veces es más complicado, debido a que lo acompañan más parámetros.



Lo siguiente es hacer las referencias a cada petición que lo requiera con el nombre de los extractores. Las referencias se hacen tipo Unix.




 Con esto debe funcionar correctamente nuestro script, claro, siempre y cuando no haya más parámetros ni restricciones que sortear.


Comentarios

Entradas populares de este blog

Análisis de conexiones TIME_WAIT

Agregar un usuario a un grupo secundario

Desencriptar passwords AES y DES en WebLogic 10