2012-07-31 8 views
10

Ich muss Leistungstests einrichten, die automatisch von einem CI-System ausgelöst werden. Dafür möchte ich JMeter aufgrund einiger Skripte und Erfahrung bereits einsetzen und ich möchte es mit Maven kombinieren.Welches Maven Plugin soll für JMeter verwendet werden? jmeter-maven-plugin oder chronos-jmeter-maven-plugin?

Während meiner Recherchen für einen angemessenen Plugin Ich fand, dass zwei Plugins sind vorhanden:

  1. jmeter-Maven-Plugin: http://wiki.apache.org/jmeter/JMeterMavenPlugin
  2. Chronos-jmeter-Maven-Plugin: http://mojo.codehaus.org/chronos/chronos-jmeter-maven-plugin/usage.html

Welcher ist besser zu verwenden? Beide scheinen derzeit instand gehalten und in Entwicklung zu sein. Gibt es dazu Erfahrungen? Sogar die Konfiguration ist ähnlich.

Ich würde mich freuen, einige Hinweise zu bekommen, die mir helfen, zu entscheiden, ohne mit beiden Plugins für einige Tage herumzuspielen.

+2

Das jmeter-maven-plugin benötigt keine Installation (abgesehen von maven). Es zieht alle Anforderungen von Maven Central herunter, also ist es im Grunde eine reine Maven-Implementierung. – Ardesco

Antwort

3

Ich habe noch nicht die .jmx-Dateien mit Maven und speziell die Plugins, die Sie erwähnen.

Aber ich kann mir einen Weg vorstellen, wie man es macht, wenn ich das brauche.

Also bedenken Sie dies, Sie können Jmeter Test im No-GUI-Modus ausführen.

  1. Erstellen Sie ein Shell-Skript-Wrapper, der die jmeter Test in keiner gui-Modus Beispiel (jmeter_exe.sh) wird ausgeführt:

$JMETER_HOME/bin/jmeter.sh -n -t MY_LOAD_TEST.jmx -l resultFile.jtl

dies die angegebenen Skript und Ergebnisse speichern So wird ausgeführt, in der .jtl Datei können Sie das verwenden, um Ihre Testergebnisse anzuzeigen, vielleicht this Beitrag wird Ihnen nützlich sein, es ist off Thema für jetzt.

Mit Schritt eins erledigt.

2.Sie könnten dann das Verzeichnis scripts in Ihrem Projektstammverzeichnis erstellen. Als Sie setzen diese in Ihrem pom.xml können:

<plugin> 
    <artifactId>exec-maven-plugin</artifactId> 
    <groupId>org.codehaus.mojo</groupId> 
    <executions> 
    <execution> 
     <id>Run load Test</id> 
     <phase>generate-sources</phase> 
     <goals> 
     <goal>exec</goal> 
     </goals> 
     <configuration> 
     <executable>${basedir}/scripts/jmeter_exe.sh</executable> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

und voila Ihr Test während generieren-Quellen Phase ausgeführt wird. Mit den Plugins, die du erwähnt hast, war das vielleicht einfacher, aber ich habe keine Ahnung davon. Das kam mir gerade in den Sinn.

+0

Danke für die Antwort. Ich und meine Kollegen wollen die Tests in JMeter vorbereiten und durchführen. Sobald sie funktionieren und stabil sind, wollen wir sie in Maven stecken, um sie zu automatisieren. Für das Debuggen möchten wir diese Tests in JMeter erneut ausführen. Dies ist am besten mit JMX-Dateien möglich, denke ich. –

2

Verwenden Sie jmeter-maven-plugin: http://wiki.apache.org/jmeter/JMeterMavenPlugin.

Es ist de-facto und (als @Ardesco oben erwähnt) es erfordert nichts installiert werden, was gibt Ihnen Abstraktion auf wo JMeter ausführbare Datei installiert ist und all diese Art von Problemen ...

2

Wort (e) von auf der Apache-Plugin (lazerycode) Warnung:

  • Es unterdrückt JMeter Ausgabe standardmäßig fügen Sie die folgenden Konfigurationseinstellungen, das verhindern:
<configuration> 
    <suppressJMeterOutput>false</suppressJMeterOutput> 
    <!-- to override debug logging from the plugin (although also in jmeter.properties) --> 
    <overrideRootLogLevel>debug</overrideRootLogLevel> 
    <jmeterLogLevel>DEBUG</jmeterLogLevel> 
</configuration> 
  • Betrachtet man die Quelle (der Version 1.8.1), so scheint es, dass die -Xms und Xmx auf 512

    begrenzt sind
  • Das Plugin schluckt Ausnahmen, so dass Ihre Tests fehlschlagen können, aber Sie nicht wissen warum. Es sieht so aus, als hätten sie gerade abgeschlossen, aber keine Ergebnisse geliefert.

  • Der jmeter mojo startet Jmeter als einen neuen Java-Prozess, bietet aber nicht die Fähigkeit, Argumente für diese Ausführung zu liefern. Wenn also Ausnahmen verschluckt werden (siehe oben) und die Protokollierung nicht ausreicht (was nicht sein kann), ist es nicht einfach, den Prozess zu debuggen, um herauszufinden, was falsch ist. Wir (mein Kollege) fügten die Debug-Argumente zur Prozessausführung hinzu und debuggten den jmeter-Aufruf, um das herauszufinden.

  • Sie erhalten informative Ausgabe läuft jmeter direkt für dev Zwecke. Ich würde sagen, es ist noch informativer in der Jmeter UI-Ausgabe.

Ich habe Chronos Geist nicht verwendet.

+0

Version 1.9.0 sollte einige Bedenken beseitigt haben, die Sie haben. Die -Xms und -Xmx sind jetzt konfigurierbar. Sie können dem JVM-Prozess, mit dem JMeter gestartet wird, jetzt weitere Argumente hinzufügen. Ich bin mir nicht sicher, was Sie unter "Das Plugin schluckt Ausnahmen" verstehen. – Ardesco

+0

@Ardesco, danke für das Update. Wir werden es überprüfen ... Ich müsste prüfen, wann Ausnahmen bei der Gelegenheit verschluckt werden. – wmorrison365

0

JMeter Maven Plugin von @Ardesco wird jedes Mal aktualisiert, wenn die JMeter-Version veröffentlicht wird. Es ist sehr gut dokumentiert und funktioniert perfekt.

Es ist leicht einzurichten und ermöglicht das einfache Hinzufügen von Plugins wie JMeter-Plugins oder kommerziellen Plugins, solange die erforderlichen Bibliotheken.

Sie können einen vollständigen Blog lesen das Setup für alte Version 1.1.10 zeigt:

Für neuere Version 2.5.1 (Stand: November 2017) stellen Sie sicher, Dokumentation lesen :