2011-02-04 24 views
31

Po wykonaniu testu, Mam tabelę raportu Agregacji wypełnioną danymi z planu testu, który właśnie skończył działać. Teraz, po ponownym uruchomieniu planu testów, wyniki są dodawane do tych danych w tabeli raportu agregacji, ale chciałbym, aby dane tabeli zostały oczyszczone przed rozpoczęciem wyświetlania wyników dla bieżącego uruchomienia. Jakikolwiek sposób to zrobić?Jak ponownie wyczyścić wyniki w tabeli raportu zbiorczego w JMeter przy ponownym uruchomieniu tego samego planu testowego?

+0

Czy otrzymałeś praktyczną odpowiedź? – BlackGaff

Odpowiedz

49

Jmeter nie ma flagi, aby zrobić to automatycznie.

Generalnie trzeba wyczyścić wyniki z Ctrl + E (w systemie Windows) lub z menu Plik w menu RUN> CLEAR lub Uruchom> CLEAR ALL

Możesz być w stanie napisać skrypt BeanShell wyczyścić wyniki za każdym razem, gdy wykonasz skrypt.

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

+0

To nie zadziałało. Ctrl + C jest skrótem do polecenia kopiowania. I nie widzę opcji menu, aby usunąć ją z menu Plik. – Srikanth

+0

Mój błąd ... powinien być CTRL + E. W menu Plik jest RUN> CLEAR lub RUN> CLEAR ALL – BlackGaff

+0

To zadziałało. Przepraszam za spóźnioną odpowiedź. Właściwie to całkiem głupie. Nie mogę zrozumieć, jak tęskniłem za czymś tak oczywistym. – Srikanth

8

Oto skrypt BeanShell że będzie wyczyścić wyniki za każdym razem wykonać go:

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); 
     } 
    } 
} 

Aby użyć tego skryptu BeanShell w skrypcie JMeter:

1) Wybierz główny węzeł skryptu JMeter i, używając menu myszy, dd węzeł Ustawienia:

Add/Threads (Users)/setup Thread Group 

2) Wybierz nowo utworzony węzeł, a korzystając z menu myszy, dodać węzeł skryptu:

Add/Samplers/Beanshell Sampler 

3) Wreszcie, skopiuj i wklej powyższy skrypt do okna skryptu.

+0

Ta bardzo użyteczna skórka fasoli nie powiedzie się, jeśli Jmeter zostanie uruchomiony bez głowy, ponieważ komponenty GUI nie istnieją. Jeśli jednak zawiniesz tę powłokę w kontrolerze Jeśli możesz sprawdzić zmienną, która istnieje tylko z wiersza poleceń, a następnie możesz zachować skrypt w swoich testach, czy gui lub bez głowy. – Aidan