【问题标题】:How to clear the results in Aggregate Report's table in JMeter automatically when executing the same test plan again?再次执行相同的测试计划时,如何自动清除JMeter中Aggregate Report表中的结果?
【发布时间】:2011-06-21 10:00:15
【问题描述】:

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

【问题讨论】:

  • 你得到一个可行的答案了吗?

标签: jmeter load-testing stress-testing


【解决方案1】:

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

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

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

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

【讨论】:

  • 那行不通。 Ctrl+C 是复制命令的快捷方式。而且我也没有看到从“文件”菜单中清除它的菜单选项。
  • 我的错误……应该是 CTRL+E。在文件菜单中,它是 RUN > CLEAR 或 RUN > CLEAR ALL
  • 那行得通。抱歉回复晚了。实际上,我很愚蠢。无法弄清楚我是如何错过如此明显的事情的。
  • “Jmeter 没有自动执行此操作的标志”是什么意思?或者换句话说,这个标志到底在哪里?
【解决方案2】:

这是一个 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) 最后,将上述脚本复制并粘贴到脚本窗口中。

【讨论】:

  • 如果 Jmeter 由于 gui 组件不存在而无头运行,这个非常有用的 beanshell 将失败。但是,如果将此 beanshell 包装在 If Controller 中,则可以检查仅在命令行中存在的变量,然后可以将脚本保留在测试中,无论是 gui 还是 headless。
【解决方案3】:

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

Clear 选项位于Run 菜单下。

Function Windows Keyboard Shortcut macOS Keyboard Shortcut
Clear CTRL+SHIFT+E +SHIFT+E
Clear All CTRL+E +E

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多