web-dev-qa-db-fra.com

Ecrire les données extraites dans un fichier en utilisant jmeter

J'utilise JMeter v2.5.
Je dois obtenir des données des réponses du test et en extraire des données (ce que je fais en utilisant exp extractor régulier). Comment stocker ces données extraites dans un fichier? 

16
Jigish Chawda

Vient de résoudre un problème similaire. Après avoir obtenu les données à l'aide d'un extracteur d'expression régulière, ajoutez un élément BeanShell PostProcessor. Utilisez le code ci-dessous pour écrire les variables dans un fichier:

name = vars.get("name");
email = vars.get("email");

log.info(email);  // if you want to log something to jmeter.log file

// Pass true if you want to append to existing file
// If you want to overwrite, then don't pass the second argument
f = new FileOutputStream("/my/file/path/result.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(name + "," + email);
f.close();
32
amit_saxena

Vous avez plusieurs options

  1. Vous pouvez compiler les résultats en ajoutant un écouteur de rapport global à votre groupe de discussions => add listener => rapport global.
  2. Vous pouvez obtenir des résultats bruts en ajoutant un écouteur d'écriture de données simple à votre groupe de discussions => add listener => un écrivain de données simple.

J'espère que cela t'aides

1
MatthewJ

Vous pouvez utiliser https://jmeter-plugins.org/wiki/FlexibleFileWriter/ avec des exemples de variables configurés. Ou avec un faux échantillon factice. Quoi qu'il en soit, Flexible File Writer est idéal pour écrire des données dans un fichier.

1
Andrey Pokhilko

Si vous souhaitez uniquement écrire les variables extraites dans le fichier de résultats CSV, ajoutez simplement à user.properties les variables souhaitées:

exemple_variables = nom, email

Selon doc:

Ils seront ajoutés en tant que dernière colonne du fichier de résultats CSV.

0
UBIK LOAD PACK
import org.Apache.jmeter.services.FileServer;

String path=FileServer.getFileServer().getBaseDir();

name1= vars.get("user_Name_value");
name2= vars.get("UserId_value");

f = new FileOutputStream("E://csvfile/result.csv", true); //spec-ify true if you want to overwrite file. Keep blank otherwise.
p = new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(name1+"," +name2);
f.close();

cela a fonctionné pour moi j'espère que cela fonctionnera pour vous aussi

0
SQA