web-dev-qa-db-fra.com

Comment enregistrer les résultats du rapport d'agrégation JMeter dans un fichier CSV à l'aide d'une invite de commande?

J'utilise JMeter en mode interface graphique pour composer tous les scénarios de test requis pour le test de charge de mon service, mais pour effectuer des tests réels, je dois exécuter des tests en mode non graphique. Comment enregistrer les résultats du rapport d'agrégat dans un fichier csv à l'aide de l'invite de commande.

Merci d'avance.

18
Harshdeep

Comme alternative: vous pouvez le faire directement à partir du listener Rapport agrégé.

1. set filename/template pour le fichier de résultats:

resultsFile = ${__property(user.dir)}${__BeanShell(File.separator,)}result_${__time(yyyyMMdd-HHmmss)}.csv

2. configure l'écouteur du rapport d'agrégation comme indiqué ci-dessous:

enter image description here

Le fichier CSV généré dans ce cas sera différent de celui généré via la GUI/"Save Table Data".

Si cela n’est pas acceptable, vous ferez mieux d’utiliser la méthode avec JMeterPluginsCMD de la réponse précédente:

Java -jar JMeterPluginsCMD.jar --generate-csv aggregateResults.csv --input-jtl testResults.jtl --plugin-type AggregateReport
13
Aliaksandr Belik

Utilisez JMeterPluginsCMD tool avec Plugin Type = AggregateReport

8
Andrey Pokhilko

1. Enregistrer le fichier de résultats

Spécifiez un fichier de résultat à enregistrer dans Afficher les résultats de l'arborescence ou Afficher le tableau (au format CSV ou XML) Ex: out/test-results.csv ou avec l'argument CLI -JTEST_RESULTS_FILE=out/test-results.csv

2. Convertir en rapport

Convertissez le fichier de résultat en un rapport global:

$ Java -jar CMDRunner.jar  --tool Reporter --generate-csv aggregateResults.csv --input-jtl out/test-results.csv --plugin-type AggregateReport

Si vous utilisez brew, CMDRunner est situé à:

/usr/local/Cellar/jmeter/2.13/libexec/lib/ext/CMDRunner.jar
4
laffuste
  1. Télécharger JMeterPluginsCMD .

  2. Placez jmeter-plugins-manager-0.13.jar dans/bin/libs/ext de votre JMeter.

  3. Ouvrez JMeter, allez dans Options> Gestionnaire de plugins.
  4. Installez les plug-ins suivants:
    • Rapport de synthèse 
    • Outil de traçage de graphique de ligne de commande
  5. Exécutez cette commande à partir du dossier/bin de votre JMeter: ./JMeterPluginsCMD.sh --tool Reporter --generate-csv test.csv --input-jtl input.jtl --plugin-type AggregateReport
0
jamiee

Avec l'aide de la réponse ci-dessus, j'ai écrit un script bash simple pour automatiser le travail de génération du fichier de résultat agrégé .csv à l'aide de fichiers .jtl.

Vous pouvez placer ce script dans le dossier où se trouvent les fichiers .jtl et le lancer simplement dans ce répertoire. Ensuite, tous les rapports agrégés (fichiers .csv) seront placés dans le répertoire aggregate_report dans le même répertoire.

#! /usr/bin/env bash

echo "Generating reports..."
command_runner="/opt/Apache-jmeter-2.13/lib/ext/CMDRunner.jar"
output="aggregate_report"
count=0

mkdir $output

for sample_file in *.jtl
do
        ((count++))
        filename="${sample_file%.*}"
        echo "Converting $filename"
        Java -jar $command_runner --tool Reporter --generate-csv ${output}/${filename}.csv --input-jtl ${filename}.jtl --plugin-type AggregateReport
done

echo "$count files were converted."

remarque: changez la variable command_runner en conséquence avec votre CMDRunner.jar location

0
TMKasun