1

JMeter用のカスタムAbstractJavaSamplerClientを実装しましたが、コアのrunTestは次のようになります。

SampleResult results = new SampleResult();
results.sampleStart();
client.request("connector.ninjaHandler.savemove", opMsg, this);

while(optcode == null){
    try {
        Thread.sleep(10);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

results.sampleEnd();
results.setSuccessful(optcode);

Thread.sleep()ただし、このような例外が発生することがわかりました。

キャッチされない例外java.lang.IllegalStateException:タイマーはすでにキャンセルされています。詳細については、ログファイルを参照してください。

私はグーグルで回りました、そして人々はthread.sleepがタイマーが失敗する原因になると言います。ただし、Web-Socketサーバーをテストしているため、回避できません。つまり、サーバーの応答を待つ必要があります...(サンプルの開始/終了の間にthread.sleepを削除すると、正常に実行されます)

ただし、org.apache.jmeter.protocol.java.test.SleepTestthread.sleepを使用するサンプルテストは適切に機能します。

助言がありますか?

4

1 に答える 1

2

問題は私が使用しているライブラリにあることがわかったので、それは非常にばかげています...ここ
からパッチを修正した後、それは機能します!

于 2013-03-27T00:33:38.067 に答える