Scripting BeanShell dans JMeter

BeanShell est un langage de script léger. Sa syntaxe est similaire à celle de Java et il est interprété comme un langage de script au lieu d’un langage compilé.
Scripting BeanShell dans l’exemple JMeter
Dans cet exemple, nous ouvrons le moteur de recherche Bing, saisissons un terme de recherche et obtenons les 5 premiers liens des résultats de recherche.
Étape 1. J’espère que vous êtes familiarisé avec les scripts JMeter courants, nous n’irons donc pas en profondeur et supposerons que le script d’ouverture de bingo et de saisie du terme de recherche est déjà scripté. Comme le montre l’image ci-dessous, nous avons un contrôleur de transaction « Run bing » et « Get all links to results ». Ces contrôleurs transactionnels auront leurs propres requêtes HTTP.

Étape 2. Tout d’abord, nous exécutons le script et obtenons la réponse textuelle dans l’arbre des résultats et créons une expression régulière pour obtenir la référence. Pour plus d’informations sur l’extraction d’expressions régulières, consultez notre article sur la corrélation dans JMeter.
Étape 3. L’étape suivante consiste à créer un extracteur Regexp, qui sera ajouté en tant qu’enfant de la requête HTTP dans le contrôleur « Obtenir tous les liens vers les résultats ».
Étape 4. Ajoutez l’élément BeanShell Script en tant qu’enfant et écrivez le code suivant :
mot-clé = « citations de bouddha » ;
links = vars.get(« links ») ;
f = nouveau FileOutputStream(« result.csv »,true) ;
p = nouveau PrintStream(f) ;
this.interpreter.setOut(p) ;
print(mot-clé + « , » + liens) ;
f.close() ;
Voir l’image ci-dessous pour comparaison :

Le code est facile à comprendre et produit un fichier result.csv avec des références au mot-clé « buddha quotes ». Nous pouvons également paramétrer le mot-clé et rendre le script plus générique et dynamique.