如何在再次执行相同的测试计划时自动清除JMeter中的聚合报告表中的结果?

Sri*_*nth 39 jmeter stress-testing load-testing

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

Bla*_*aff 61

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

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

每次执行脚本时,您都可以编写一个beanshell脚本来清​​除结果.

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


小智 11

这是一个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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

要在JMeter脚本中使用此Beanshell脚本:

1)选择JMeter脚本的根节点,然后使用鼠标菜单添加设置节点:

   Add / Threads (Users) / setup Thread Group
Run Code Online (Sandbox Code Playgroud)

2)选择新创建的节点,并使用鼠标菜单添加脚本节点:

   Add / Samplers / Beanshell Sampler
Run Code Online (Sandbox Code Playgroud)

3)最后,将上述脚本复制并粘贴到"脚本"窗口中.

  • 如果 Jmeter 无头运行,这个非常有用的 beanshell 将失败,因为 gui 组件不存在。但是,如果您将此 beanshell 包装在 If 控制器中,您可以检查仅存在于命令行中的变量,然后您可以将脚本保留在测试中,无论是 gui 还是 headless。 (2认同)

Sai*_*pta 5

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

\n

Clear选项位于Run菜单下。

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
功能Windows 键盘快捷键macOS 键盘快捷键
清除CTRL+ SHIFT+E\xe2\x8c\x98+ SHIFT+E
全部清除CTRL+E\xe2\x8c\x98+E
\n