lundi 2 juin 2014

Extraire une variable dans JMeter et la persister dans un fichier CSV

Comment faire lorsqu'on extrait une variable en utilisant l'extracteur d'expression régulière de JMeter, et que l'on souhaite la conserver dans un fichier ?

Pour écrire dans un fichier ( CSV par exemple ) un ou des variables lors de tests JMeter, rien de plus simple. 

Il suffit de rajouter après la ou les extractions de variables un postprocesseur de type BeanShell. 

Et renseigner la partie script avec du code de type :

nomVariableAEnregistrer = vars.get("variable");

nomFichier = vars.get("fichierExtrait");

log.info("le log de JMeter à renseigner facultativement qui se trouvera dans le fichier jmeter.log");

fos = new FileOutputStream( nomFichier, true );//le booléen sert à indiquer si le fichier doit être concaténé ( vrai ) ou écrasé ( faux )

ps = new PrintStream ( fos );

this.interpreter.setOut( ps );

print( nomVariableAEnregistrer + "," );

fos.close();

/* Le code précédent récupère les variables nécessaires qui doivent déjà être déclarées. Il ouvre un flux vers le fichier de sortie et le créé au besoin. Écrit la variable. Concatène une virgule. Puis ferme le flux vers le fichier. */

J'ai utilisé ceci pour extraire vers un fichier CSV des numéros de contrats créés lors de tests scriptés JMeter de montée en charge. 

Les numéros de contrat ainsi récupérés pouvant servir à d'autres types de tests.