jueves, 10 de mayo de 2007

Pasando expresiones regulares. JMeter


Muchas veces, necesitamos que la respuesta de una petición http, sea un parámetro de otra(s) peticiones posteriores. Ello se realiza de la siguiente manera:

1.-Para una petición http, añadimos un post-procesador "Extractor de Expresiones Regulares".
**Nombre: El que trae por defecto o algo descriptivo.
**Nombre de referencia: De esa forma llamaremos a la variable posteriormente.
**La expresión regular:
**Plantilla: De las partes del resultado de la aplicación de la expresión regular, podemos querer tomar la primera ($1$), la 2da ($2$), ...
**Coincidencia: lo dejo en blanco
**Valor por defecto: Si realmente nos interesa poner uno por defecto, se escribe aquí.

2.-Posteriormente, en otra petición http posterior, pondremos, por ejemplo, en los parámetros, al nombre del parámetro y el valor será ${nombre_de_referencia}.

Ejemplo: Quiero tomar de la respuesta de una petición todo un fichero xml que me viene como respuesta, y que empieza como "XML". La variable será varXML y aplico la expresión regular correspondiente.

Nombre de referencia: varXML
Expresión regular: name="XML" value="(.+?)"
Plantila: $1$

....luego en otras peticiones, en uno de sus parámetros tengo:
Nombre: miXML
Valor: ${varXML}

Importante: La respuesta suele venir en plano, es decir, sin codificar, por lo cual, es posible que para que funcione bien, el parámetro le tengamos que señalar que lo queremos codificado!!!!.


Para mayor referencia:
1.-http://wiki.apache.org/jakarta-jmeter/RegularExpressions
2.-http://wiki.apache.org/jakarta-jmeter/JMeterFAQ#head-87f846dad28fd6b2ad5eb0d44d527d572f810653
3.-Para probar expresiones regulares

No hay comentarios: