因此,在执行测试运行后,我的聚合报告表中填充了刚刚完成运行的测试计划的数据。现在,当我再次执行测试计划时,结果将添加到聚合报告表中的数据中,但我希望在开始显示当前运行的结果之前清理表数据。有什么办法可以做到这一点吗?
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);
}
}
}
要在 JMeter 脚本中使用此 Beanshell 脚本:
选择 JMeter 脚本的根节点,然后使用鼠标菜单添加设置节点:
Add / Threads (Users) / setup Thread Group
选择新创建的节点,使用鼠标菜单添加脚本节点:
Add / Samplers / Beanshell Sampler
最后,将上述脚本复制并粘贴到脚本窗口中。
注意:下面给出了通过 GUI 功能实现此目的的手动过程。
Clear
选项位于 Run
菜单下。
功能 | Windows 键盘快捷键 | macOS 键盘快捷键 |
---|---|---|
清除 | CTRL+SHIFT+E | ⌘+SHIFT+E |
全部清除 | CTRL+E | ⌘+E |