Как очистить результаты в таблице сводного отчета в JMeter автоматически при повторном выполнении того же плана тестирования?
Итак, после выполнения тестового запуска у меня есть таблица сводного отчета, заполненная данными плана тестирования, который только что закончился. Теперь, когда я снова выполняю план тестирования, результаты добавляются к этим данным в таблицу сводного отчета, но я хотел бы, чтобы данные таблицы были очищены перед началом отображения результатов для текущего запуска. Как это сделать?
2 ответов
Jmeter не имеет флага, чтобы сделать это автоматически.
Как правило, вы должны очистить результаты с помощью CTRL+E (в windows) или из меню Файл в разделе RUN > CLEAR или RUN > CLEAR ALL
вы можете написать сценарий beanshell, чтобы очистить результаты каждый раз, когда вы выполняете сценарий.
http://www.javadocexamples.com/java_examples/org/apache/jmeter/samplers/SampleListener/
вот сценарий 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);
}
}
}
чтобы использовать этот скрипт Beanshell в вашем скрипте JMeter:
1) Выберите корневой узел скрипта JMeter и с помощью меню мыши добавьте узел настройки:
Add / Threads (Users) / setup Thread Group
2) Выберите вновь созданный узел и с помощью меню мыши добавьте узел скрипта:
Add / Samplers / Beanshell Sampler
3) наконец, скопируйте и вставьте вышеуказанный скрипт в окно скрипта.