Scripting BeanShell en JMeter

BeanShell es un lenguaje de programación ligero. Tiene una sintaxis similar a Java y se interpreta como un lenguaje de scripting en lugar de como un lenguaje compilado.
Scripting BeanShell en el ejemplo JMeter
En este ejemplo, abrimos el buscador Bing, tecleamos un término de búsqueda y obtenemos los 5 primeros enlaces de los resultados de la búsqueda.
Paso.1. Espero que estés familiarizado con las secuencias de comandos comunes de JMeter, así que no entraremos en profundidad y supondremos que la secuencia de comandos para abrir el bingo y escribir el término de búsqueda ya está secuenciada. Como se muestra en la imagen siguiente, tenemos un controlador de transacciones «Ejecutar bing» y «Obtener todos los enlaces a los resultados». Estos controladores transaccionales tendrán sus respectivas peticiones HTTP.

Paso.2. Primero ejecutamos el script y obtenemos el texto de respuesta en el árbol de visualización de resultados y creamos una expresión regular para obtener la referencia, para más información sobre la extracción de expresiones regulares consulta nuestro post sobre Correlación en JMeter.
Paso.3. El siguiente paso será crear un Extractor Regexp, que se añadirá como hijo de la petición HTTP dentro del controlador «Obtener todos los enlaces a los resultados».
Paso.4. Añade el elemento BeanShell Script como hijo y escribe el siguiente código:
palabra clave = «citas de buda»;
enlaces = vars.get(«enlaces»);
f = nuevo FileOutputStream(«resultado.csv»,true);
p = nuevo PrintStream(f);
este.intérprete.setOut(p);
print(palabra clave + «,» + enlaces);
f.cerrar();
Mira la imagen de abajo para comparar:

El código es fácil de entender y produce un archivo result.csv con referencias a la palabra clave «citas buda». También podemos parametrizar la palabra clave y hacer que el guión sea más genérico y dinámico.