2011-02-04 13 views
31

したがって、テスト実行を実行した後、集計レポートのテーブルに、実行が終了したばかりのテストプランのデータが格納されます。現在、テストプランを再度実行すると、集計レポートのテーブルにこのデータが追加されますが、現在の実行結果を表示する前にテーブルデータをクリーンアップしてください。これを行う方法は?同じテスト計画を再度実行すると、JMeterの集計レポートのテーブル内の結果を自動的にクリアする方法はありますか?

+0

実行可能な回答を得ましたか? – BlackGaff

答えて

49

Jmeterにはこれを自動的に行うフラグはありません。

一般的に、あなたはCLEAR ALL>(Windowsの場合)、Ctrl + Eを使用して結果をクリアするか、ファイルメニューから、RUN下> CLEARまたは実行する必要が

あなたがクリアするのBeanShellスクリプトを書くことができるかもしれませんスクリプトを実行するたびに結果が表示されます。ここで

http://www.javadocexamples.com/java_examples/org/apache/jmeter/samplers/SampleListener/

+0

それは動作しませんでした。 Ctrl + Cはコピーコマンドのショートカットです。そして、私は、Fileメニューからそれをクリアするメニューオプションも表示しません。 – Srikanth

+0

私の間違いは... CTRL + Eだったはずです。ファイルメニューでは、RUN> CLEARまたはRUN> ALL CLEAR ALLの – BlackGaff

+0

です。返事遅れてすみません。私はかなり愚かです。どのように私が何かを見逃してしまったことが分かりません。 – Srikanth

8

あなたはそれを実行毎回結果を消去しますBeanShellのスクリプトです:

import org.apache.jmeter.gui.GuiPackage; 
import org.apache.jmeter.gui.JMeterGUIComponent; 
import org.apache.jmeter.gui.tree.JMeterTreeNode; 
import org.apache.jmeter.samplers.Clearable; 

log.info("Clearing All ..."); 

guiPackage = GuiPackage.getInstance(); 

guiPackage.getMainFrame().clearData(); 
for (JMeterTreeNode node : guiPackage.getTreeModel().getNodesOfType(Clearable.class)) { 
    JMeterGUIComponent guiComp = guiPackage.getGui(node.getTestElement()); 
    if (guiComp instanceof Clearable){ 
     Clearable item = (Clearable) guiComp; 
     try { 
      item.clearData(); 
     } catch (Exception ex) { 
      log.error("Can't clear: "+node+" "+guiComp, ex); 
     } 
    } 
} 

あなたのJMeterスクリプトでこのBeanShellのスクリプトを使用するには:

1)JMeter Scriptのルートノードを選択し、マウスメニューを使用して、a

Add/Threads (Users)/setup Thread Group 

2)新しく作成されたノードを選択し、マウスのメニューを使用して、スクリプトノードを追加します:セットアップノードをddは最後に)

Add/Samplers/Beanshell Sampler 

3を、上記のスクリプトをコピーしてスクリプトウィンドウに貼り付けます。

+0

guiコンポーネントが存在しないため、Jmeterがヘッドレスで実行されている場合、この非常に便利なbeanshellは失敗します。ただし、このBeanシェルをIfコントローラにラップすると、コマンドラインからしか存在しない変数をチェックできます。そして、スクリプトをguiかheadlessのいずれかにしておくことができます。 – Aidan

関連する問題