17

Javaサービス呼び出しをテストしたいのですが。私の最初の試みは、「Javaリクエストサンプラー」を使用することでし た

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

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

誰かが「Javaリクエストサンプラー」を使用しているかどうか疑問に思いますか?

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

4

1 に答える 1

28

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

Javaクラスを構築した後、結果のJARファイルもフォルダーに配置します\lib\ext\。クラスが依存関係(3番目の部分のJAR)を使用する場合は、それを'\lib'フォルダーに配置します。その後、JMeterを起動して、Javaリクエストサンプラーで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;
  }  
}
于 2010-03-04T14:02:54.207 に答える