重要的best practice不要使用View Results Tree
在负载测试期间不要使用“查看结果树”或“在表中查看结果”侦听器,而只能在脚本编写阶段调试脚本。
或任何听众:
使用尽可能少的监听器;如果使用上述的-l标志,则可以将其全部删除或禁用。
但是View Results Tree
是调试脚本以识别脚本中问题的绝佳工具。
我们只能以非GUI模式运行时才以某种方式忽略它吗?
我可以通过setIgnore方法忽略采样器结果,甚至可以通过在属性中将线程数设置为0来忽略线程组,属性可以忽略侦听器吗?
目前,我在非GUI中运行之前/之后手动在GUI中启用/禁用。
编辑
但是jmx文件保存在版本控制中,因此它应该保持只读状态(用于GUI和非GUI)
答案 0 :(得分:-2)
我会说,classic non-GUI mode目前无法进行测试执行,选项位于:
创建一个简单的Java包装程序以启动非GUI JMeter测试,该测试将在启动并禁用侦听器之前扫描测试计划。就像这样:
StandardJMeterEngine jmeter = new StandardJMeterEngine();
JMeterUtils.loadJMeterProperties("/path/to/your/jmeter.properties");
JMeterUtils.setJMeterHome("/path/to/your/jmeter");
JMeterUtils.initLocale();
SaveService.loadProperties();
HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/testplan"));
SearchByClass<ResultCollector> listenersSearch = new SearchByClass<>(ResultCollector.class);
testPlanTree.traverse(listenersSearch);
Collection<ResultCollector> listeners = listenersSearch.getSearchResults();
listeners.forEach(listener -> listener.setProperty(TestElement.ENABLED, false));
jmeter.configure(testPlanTree);
jmeter.run();
使用Taurus工具运行测试,它具有Modifications for Existing Scripts功能,因此您可以使用简单的声明性YAML语法来禁用侦听器:
---
execution:
scenario:
script: /path/to/your/testplan
modifications:
disable: # Names of the tree elements to disable
- View Results Tree