2016-03-22 7 views
2

私は負荷テストにJMeterを使用しています。私はミリ秒単位で遅延を取り、それを使って次のサンプルを遅らせるためにTimerを拡張したいと思います。私は現在、これを達成するためにBeanShell Scriptを使用していますが、Script SnippetではなくJavaクラスを使用したいと考えています。どのようなタイマークラスを拡張しなければならないのですか?私が見ることができる例はありますか?私は何もオンラインで見つけられませんでした: - |JMeterタイマーを延長してタイマーを可変的に遅らせる

+0

おそらくSwingTimer? – user489041

答えて

1

タイマーを実装する必要はありませんでしたが、サンプラー、ポストプロセッサー、リスナーを実装していましたので、他のコンポーネントとのタイマーの類似性に関するいくつかの仮定を行っています。また、私はJMeterプラグインの開発についての良い文書を見たことはありませんでしたが、私は通常、JMeterのコードを掘り下げてどのように行うのかを理解し、さまざまな機能を説明するAPIドキュメントをチェックします。

基本的には2クラス

  1. タイマーを実行するクラスを実装する必要があります。そのクラスはAbstractTestElementまで拡張して実装する必要があります。Timer interface
  2. JMeter UIでタイマーを表すGUIクラスです。そのクラスは、だから、プラグインの骨格は次のようになりますAbstractTimerGui

を拡張する必要があります。

public class MyTimerGui extends AbstractTimerGui { 
    // usually has at least the following 3 functions: 

    @Override 
    public TestElement createTestElement() { 
    } 

    @Override 
    public void modifyTestElement(TestElement timer) { 
    } 

    @Override 
    public void configure(TestElement el) { 
    } 
} 

public class MyTimer extends AbstractTestElement implements Timer { 

    long delay() { 
     return someDelayOfYourChoice; 
    } 

    // you may need some other functions, e.g. running on test start or sample start 
} 

例の面では、あなたはbuilt-in timersで見ることができ、ConstantTimerは良好であるように、具体的に見え、それがどのように行われたかの簡潔な例。例えばTimerインタフェースを実装する代わりに、RandomTimerのようにConstantTimerを直接拡張することもできます。

UIの部分についてはあなたもConstantTimerGui例に従うことができ、またはあなたのインターフェースがランダムタイマーに近い場合、あなたはあなたのプラグインをビルドするにはAbstractRandomTimerGui

を拡張することができ、私はthis exampleに類似のMavenプロジェクトをお勧めします。そして実行時にはlib/extフォルダに展開します。プラグインがJMeterに存在しないライブラリを使用する場合は、JMeterのlibフォルダにも展開する必要があります。

関連する問題