2012-07-31 6 views
10

Devo impostare i test delle prestazioni eseguiti automaticamente da un sistema CI. Per questo voglio usare JMeter a causa di alcuni script e l'esperienza esiste già e voglio combinarla con Maven.Quale plugin Maven deve essere usato per JMeter? jmeter-maven-plugin o chronos-jmeter-maven-plugin?

Durante la mia ricerca per un plugin ragionevole ho scoperto che due plugin sono già esistenti:

  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

Quale è meglio usare? Entrambi sembrano attualmente mantenuti e in fase di sviluppo. C'è qualche esperienza in questo? Anche la configurazione è simile.

Sarei felice di avere alcuni suggerimenti per aiutarmi a scendere senza giocare con entrambi i plugin per alcuni giorni.

+2

Il plugin jmeter-maven non richiede nulla da installare (a parte ovviamente Maven). Riduce tutti i requisiti da Maven centrale quindi è fondamentalmente una pura implementazione di esperti. – Ardesco

risposta

3

Non ho ancora utilizzato i file .jmx con Maven e in particolare i plug-in citati.

Ma posso pensare a un modo come farlo se ne avessi avuto bisogno.

Considerare questo, è possibile eseguire jmeter test in nessuna modalità GUI.

  1. Creare un wrapper script di shell che verrà eseguito il test jmeter in nessun modalità GUI, ad esempio (jmeter_exe.sh):

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

Quindi questo eseguirà il dato risultati di script e memorizzare nel file .jtl, è possibile utilizzarlo per visualizzare i risultati del test, forse il post this sarà utile, per ora non è disponibile.

Con il passaggio uno fatto.

2. È quindi possibile creare la directory scripts nella root del progetto. Che si può mettere questo nel vostro pom.xml:

<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> 

e voilà il test viene eseguito durante la fase di generare-sources. Questo potrebbe essere stato più facile con i plugin che hai menzionato, ma non ne ho la conoscenza, questo è quello che mi è venuto in mente.

+0

Grazie per la risposta. Io e i miei colleghi vogliamo preparare ed eseguire i test in JMeter. Non appena lavorano e sono stabili, vogliamo metterli in Maven per farli automatizzare. Per il debug, vogliamo eseguire nuovamente questi test in JMeter. Questo è meglio fatto con i file JMX, immagino. –

2

Utilizzare jmeter-maven-plug-in: http://wiki.apache.org/jmeter/JMeterMavenPlugin.

E 'il de-facto uno e (come @Ardesco di cui sopra) non richiede nulla di essere installato, che ti dà astrazione su cui è installato JMeter eseguibile e tutti coloro che tipo di problemi ...

2

Word (s) di avvertimento sul plugin apache (lazerycode):

  • Sopprime uscita JMeter per impostazione predefinita, aggiungere le seguenti impostazioni di configurazione per evitare che:
<configuration> 
    <suppressJMeterOutput>false</suppressJMeterOutput> 
    <!-- to override debug logging from the plugin (although also in jmeter.properties) --> 
    <overrideRootLogLevel>debug</overrideRootLogLevel> 
    <jmeterLogLevel>DEBUG</jmeterLogLevel> 
</configuration> 
  • guardando il sorgente (versione 1.8.1), sembra che il -Xms e Xmx sono limitati a 512

  • Il plug-in ingoia le eccezioni in modo che i test possano non riuscire ma non si sa perché. Sembra che abbiano appena completato, ma non abbiano fornito risultati.

  • jmeter mojo avvia jmeter come un nuovo processo java ma non fornisce la capacità di fornire argomenti per questa esecuzione. Quindi se le eccezioni vengono inghiottite (vedi sopra), e la registrazione non è sufficiente (che potrebbe non essere), non è facile eseguire il debug del processo per scoprire cosa c'è che non va. Noi (il mio collega) abbiamo aggiunto gli argomenti di debug all'esecuzione del processo e abbiamo eseguito il debug della chiamata jmeter per scoprirlo.

  • si ottiene un output informativo che esegue jmeter direttamente per scopi di sviluppo. Direi che è ancora più informativo nell'output dell'interfaccia utente jmeter.

Non ho usato la mente di Chronos.

+0

La versione 1.9.0 dovrebbe aver rimosso alcune preoccupazioni che hai. I parametri -Xms e -Xmx sono ora configurabili. Puoi anche aggiungere ulteriori argomenti al processo JVM in cui JMeter è avviato. Non sono sicuro di cosa intendi con "Il plug-in ingoia le eccezioni". – Ardesco

+0

@Ardesco, grazie per l'aggiornamento. Verificheremo ... Dovrei rivedere quando le eccezioni venivano inghiottite quando si presenta l'occasione. – wmorrison365

0

JMeter Maven Plugin da @Ardesco viene aggiornato ogni volta che la versione JMeter è stato rilasciato. È molto ben documentato e funziona perfettamente.

E 'facilmente l'installazione e consentono un facile aggiunta di plugin come JMeter-Plugin o plugin commerciali a patto che le librerie necessarie.

Potete leggere un blog completo che mostra la configurazione per vecchia versione 1.1.10:

Per recente versione più 2.5.1 (a partire da novembre 2017) Assicuratevi di leggere la documentazione :