再次执行同一个测试计划时,如何自动清除JMeter中Aggregate Report表中的结果?

问题描述 投票:0回答:3

因此,在执行测试运行后,我的聚合报告表中填充了刚刚完成运行的测试计划的数据。现在,当我再次执行测试计划时,结果将添加到聚合报告表中的数据中,但我希望在开始显示当前运行的结果之前清理表数据。有什么办法可以做到这一点吗?

jmeter load-testing stress-testing
3个回答
75
投票

Jmeter 没有自动执行此操作的标志。

通常,您必须使用 CTRL+E(在 Windows 中)或从文件菜单中的 RUN > CLEAR 或 RUN > CLEAR ALL 下清除结果

您也许可以编写一个 beanshell 脚本来在每次执行该脚本时清除结果。

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


13
投票

这是一个 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 脚本的根节点,然后使用鼠标菜单添加设置节点:

    Add / Threads (Users) / setup Thread Group
    
  2. 选择新创建的节点,使用鼠标菜单添加脚本节点:

    Add / Samplers / Beanshell Sampler
    
  3. 最后,将上述脚本复制并粘贴到脚本窗口中。


5
投票

注意:下面给出了通过 GUI 功能实现此目的的手动过程。

Clear
选项位于
Run
菜单下。

功能 Windows 键盘快捷键 macOS 键盘快捷键
清除 CTRL+SHIFT+E +SHIFT+E
全部清除 CTRL+E +E
© www.soinside.com 2019 - 2024. All rights reserved.