JMeter-Run.fichier jmx via la ligne de commande et obtenir le rapport de synthèse dans un excel
Je suis nouveau sur jmeter. J'ai l' .fichier JMX containg tous les échantillonneurs http requis. Je pourrais l'exécuter à travers L'interface utilisateur Jmeter en utilisant "Run - > Start" et afficher le résultat dans le "rapport récapitulatif". Je peux ensuite enregistrer les résultats à la .csv en utilisant le bouton "Enregistrer les données de la Table "dans" rapport récapitulatif".
La Question Est de savoir comment puis-je obtenir la même chose en utilisant la ligne de commande.
8 réponses
JMeter peut être lancé en mode non-GUI comme suit:
jmeter -n -t /path/to/your/test.jmx -l /path/to/results/file.jtl
Vous pouvez définir ce que vous souhaitez voir dans le fichier JTL résultat en jouant avec les propriétés JMeter.
Consultez le fichier jmeter.properties
sous le dossier / bin de votre installation JMeter et recherchez ceux commençant par
jmeter.save.saveservice.
Les valeurs par défaut sont listées ci-dessous:
#jmeter.save.saveservice.output_format=csv
#jmeter.save.saveservice.assertion_results_failure_message=false
#jmeter.save.saveservice.assertion_results=none
#jmeter.save.saveservice.data_type=true
#jmeter.save.saveservice.label=true
#jmeter.save.saveservice.response_code=true
#jmeter.save.saveservice.response_data=false
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=false
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=false
#jmeter.save.saveservice.timestamp_format=ms
#jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
#jmeter.save.saveservice.default_delimiter=,
#jmeter.save.saveservice.default_delimiter=\t
#jmeter.save.saveservice.print_field_names=false
#jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="../extras/jmeter-results-detail-report_21.xsl"?>
#jmeter.save.saveservice.base_prefix=~/
#jmeter.save.saveservice.autoflush=false
Décommentez celui qui vous intéresse et définissez sa valeur pour changer la valeur par défaut. Une autre option est la propriété override dans le fichier user.properties
ou la fournir en tant que argument de ligne de commande utilisant la touche -J
comme suit:
jmeter -Jjmeter.save.saveservice.print_field_names=true -n /path/to/your/test.jmx -l /path/to/results/file.jtl
Voir Apache JMeter Properties Customization Guide pour plus de détails sur ce qui peut être fait en utilisant les propriétés JMeter.
Vous pouvez exécuter JMeter à partir de la ligne de commande en utilisant le paramètre-n Pour 'Non-GUI' et le paramètre-t pour le fichier de plan de test.
jmeter -n -t "PATHTOJMXFILE"
Si vous souhaitez personnaliser davantage l'expérience en ligne de commande, je vous dirigerais vers la section 'Getting Started' de leur documentation.
Vous pouvez utiliser cette commande,
jmeter -n -t /path to the script.jmx -l /path to save results with file name file.jtl
Mais si vous voulez vraiment exécuter un test de charge sur une machine distante, vous devriez pouvoir le faire fonctionner même si vous fermez la fenêtre. Nous pouvons donc utiliser nohup pour ignorer le signal HUP (hangup). Vous pouvez donc utiliser cette commande comme ci-dessous.
nohup sh jmeter.sh -n -t /path to the script.jmx -l /path to save results with file name file.jtl &
Ce serait l'instruction de ligne de commande.
"%JMETER_HOME%\bin\jmeter.bat" -n -t <jmx test file path> -l <csv result file path> -Djmeter.save.saveservice.output_format=csv
En mode Ligne de commande: J'ai prévu sur le système d'exploitation Linux.
Téléchargez la dernière version de jmeter.
Apache JMeter 3.2 (Requires Java 8 or later)
dès maintenant.Extraire dans le répertoire de votre choix. Par exemple, extraire vers
/tmp/
- maintenant, le format de fichier de sortie par défaut sera
csv
. Pas besoin de changer quoi que ce soit ou de spécifier dans la commande CLI. exemple:./jmeter -n -t examples/test.jmx -l examples/output.csv
Pour modifier le format par défaut, modifiez le paramètre suivant dans jmeter.propriétés : jmeter.save.saveservice.output_format=xml
Maintenant, si vous exécutez la commande : ./jmeter -n -t examples/test.jmx -l examples/output.jtl
la sortie est stockée au format xml.
Maintenant, faites la demande sur plusieurs serveurs (requête D'informations supplémentaires): nous pouvons spécifier hôte et port comme balises dans
./jmeter -n -t examples/test.jmx -l examples/output.jtl -JHOST=<HOST> -JPORT=<PORT>
Cela a fonctionné pour moi sur mac os High sierra 10.13.6, java 8 64 bits, jmeter 4.0
$ jmeter -n --testfile /path/to/Test_Plan.jmx
Exemple de sortie:
Creating summariser <summary>
Created the tree successfully using ./src/test/jmeter/Test_Plan.jmx
Starting the test @ Fri Aug 24 17:18:18 PDT 2018 (1535156298333)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary = 10 in 00:00:09 = 1.1/s Avg: 6666 Min: 1000 Max: 8950 Err:
0 (0.00%)
Tidying up ... @ Fri Aug 24 17:18:28 PDT 2018 (1535156308049)
... end of run
Accédez au répertoire jmeter/bin
depuis la ligne de commande et
jmeter -n -t <YourTestScript.jmx> -l <TestScriptsResults.jtl>
Exécution de JMeter en mode ligne de commande:
1.Accédez au répertoire bin de JMeter
Entrez maintenant la commande suivante,
jmeter -n –t test.jmx
- n: spécifie que JMeter doit s'exécuter en mode non-gui
- t: spécifie le nom du fichier JMX contenant le Plan de Test