Frage

Ich möchte einen Java Service Call testen.Mein erster Versuch bestand darin, das zu verwenden „Java Request Sampler“ Die Doku sagt

Mit diesem Sampler können Sie eine Java -Klasse kontrollieren, die die JavaMaMplerClient -Schnittstelle implementiert.

Ich bin mir nicht sicher, wie ich an die Schnittstelle org.apache.jmeter.protocol.java.sampler.JavaSamplerClient komme, da es auf der JMeter-Seite kein Maven-Artefakt und keine bereitgestellten Binärdateien gibt.Nur ein JMeter-Maven-Plugin (was ich nicht suche).Ich könnte die benötigten Binärdateien in meinem lokalen Maven-Repository installieren, ich weiß nur nicht, wo sie verfügbar sind.

Sie fragen sich, ob überhaupt jemand den „Java Request Sampler“ verwendet?

P.S.Vielleicht sollte ich es mal versuchen JUnit-Sampler

War es hilfreich?

Lösung

Wir bauen mit ANT und verwenden die JARs, die sich im befinden Binärdatei von JMeter unter \lib\ext\.Der AbstractJavaSamplerClient welches für den Java Request Sampler verwendet wird, befindet sich in der Datei \lib\ext\ApacheJMeter_java.jar.Um mit dieser abstrakten Klasse arbeiten zu können, müssen Sie auch die JAR-Datei importieren \lib\ext\ApacheJMeter_core.jar, der (zum Beispiel) die Klasse hält SampleResult.

Nachdem wir unsere Java-Klasse erstellt haben, legen wir die resultierende JAR-Datei ebenfalls im Ordner ab \lib\ext\.Wenn unsere Klasse eine Abhängigkeit verwendet (3. Teil JAR), legen wir sie im Ordner „\lib“ ab.Danach können Sie JMeter starten und Ihre Java-Klasse in einem Java Request Sampler auswählen.

Hier ist ein Beispiel für einen solchen Java Request 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;
  }  
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top