web-dev-qa-db-ja.com

テストJava JMeterを使用したクラス

Javaサービスコールをテストしたい。最初の試みは "Java Request Sampler" を使用することでした。

このサンプラーを使用すると、JavaSamplerClientインターフェイスを実装するJavaクラスを制御できます。

JMeter側にはMavenアーティファクトも提供されたバイナリもないため、org.Apache.jmeter.protocol.Java.sampler.JavaSamplerClientインターフェイスを取得する方法がわかりません。ただのJMeterMavenプラグイン(これは私が探しているものではありません)。必要なバイナリをローカルのMavenリポジトリにインストールできましたが、どこで利用できるかわかりません。

誰かが「Javaリクエストサンプラー」を使用しているのだろうか?

P.S.たぶん私は試してみる必要があります JUnitサンプラー

17

ANTを使用してビルドしており、\lib\ext\の下の JMeterからのバイナリファイル にあるJARを使用しています。 Javaリクエストサンプラーに使用されるAbstractJavaSamplerClientはファイル\lib\ext\ApacheJMeter_Java.jarにあります。この抽象クラスを操作するには、JARファイルもインポートする必要があります。 \lib\ext\ApacheJMeter_core.jar、これは(たとえば)クラスSampleResultを保持します。

Javaクラスを構築した後、結果のJARファイルをフォルダー\lib\ext\にも配置します。クラスが依存関係(3番目の部分のJAR)を使用する場合は、 '\ lib'に配置します。その後、JMeterを起動して、Java RequestSamplerのJavaクラスを選択できます。

このようなJavaリクエストサンプラーの例:

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;
  }  
}
28
Steve