2010-03-04 13 views
17

Vorrei provare una chiamata di servizio Java. Il mio primo tentativo è stato quello di utilizzare la "Java Request Sampler" Il docu diceTest di classi Java con JMeter

Questo sampler consente di controllare un java classe che implementa l'interfaccia JavaSamplerClient.

non sono sicuro di come ottenere l'org.apache.jmeter.protocol.java.sampler.JavaSamplerClient interfaccia in quanto non v'è alcuna Maven Artifact né previsti binari sul lato JMeter. Solo un plugin Maven JMeter (che non è quello che sto cercando). Potrei installare i binari necessari nel mio repository Maven locale, semplicemente non so dove sono disponibili.

Chiedersi se qualcuno utilizza il "Java Request Sampler"?

P.S. Forse dovrei provare il JUnit Sampler

+3

JMeter è ora nel centro di Maven. – Ardesco

risposta

27

Stiamo costruendo con ANT e stiamo usando i JAR, che si trovano nello binary file from JMeter sotto \lib\ext\. Lo AbstractJavaSamplerClient che viene utilizzato per il campionatore di richieste Java si trova nel file \lib\ext\ApacheJMeter_java.jar. Per lavorare con questa classe astratta, devi anche importare il file JAR \lib\ext\ApacheJMeter_core.jar, che è (ad esempio) in possesso della classe SampleResult.

Dopo aver creato la nostra classe Java, abbiamo inserito il file JAR risultante anche nella cartella \lib\ext\. Se la nostra classe usa una dipendenza (3a parte JAR), la inseriamo nella cartella '\ lib'. Dopodiché, puoi avviare JMeter e puoi selezionare la tua classe Java in un campionatore di richieste Java.

Ecco un esempio di come un Java richiesta Sampler:

public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient { 

    @Override 
    public SampleResult runTest(JavaSamplerContext ctx) { 
    JMeterVariables vars = JMeterContextService.getContext().getVariables(); 
    vars.put("demo", "demoVariableContent"); 

    SampleResult sampleResult = new SampleResult(); 
    sampleResult.setSuccessful(true); 
    sampleResult.setResponseCodeOK(); 
    sampleResult.setResponseMessageOK(); 
    return sampleResult; 
    } 
} 
+1

Penso che sia abbastanza importante capire il ciclo di vita di tale SamplerClient. Per ogni thread viene creata un'istanza (in base al javadoc alcune altre istanze vengono create ad esempio per recuperare i nomi dei parametri). Esistono metodi per preparare e smantellare il test. È davvero bello, grazie per avermi reindirizzato in questa direzione. –