繁体   English   中英

JMeter-仅在非GUI中忽略视图结果树侦听器

[英]JMeter - Ignore View Results Tree Listener only in non GUI

重要的最佳做法是不使用“ View Results Tree

在负载测试期间不要使用“查看结果树”或“在表中查看结果”侦听器,仅在脚本编写阶段使用它们来调试脚本。

或任何听众:

使用尽可能少的侦听器; 如果使用上述的-l标志,则可以将其全部删除或禁用。

但是“ View Results Tree是调试脚本以识别脚本中问题的绝佳工具。

我们只能以非GUI模式运行时才以某种方式忽略它吗?

我可以通过setIgnore方法忽略采样器结果,甚至可以通过在属性中将线程数设置为0来忽略线程组,属性可以忽略侦听器吗?

目前,我在非GUI中运行之前/之后在GUI中手动启用/禁用。

编辑

但是jmx文件保存在版本控制中,因此它应该保持只读状态(用于GUI和非GUI)

我会说,当前无法使用经典的非GUI模式执行测试,这些选项位于:

  1. 从测试计划中完全删除所有侦听器,并使用结果文件配置属性控制.jtl结果文件中存储的内容
  2. 创建一个简单的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(); 
  3. 使用Taurus工具运行测试,该工具具有对现有脚本的修改功能,因此您将能够使用简单的声明性YAML语法禁用侦听器:

     --- execution: scenario: script: /path/to/your/testplan modifications: disable: # Names of the tree elements to disable - View Results Tree 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM