gpt4 book ai didi

JMeter - 仅在非 GUI 中忽略查看结果树监听器

转载 作者:行者123 更新时间:2023-12-05 07:32:46 28 4
gpt4 key购买 nike

重要best practice不使用 View Results Tree

Don't use "View Results Tree" or "View Results in Table" listeners during the load test, use them only during scripting phase to debug your scripts.

或任何听众:

Use as few Listeners as possible; if using the -l flag as above they can all be deleted or disabled.

但是 View Results Tree 是一个很好的调试工具,可以用来识别脚本中的问题。

我们能否仅在非 GUI 模式下以某种方式忽略它?

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

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

编辑

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

最佳答案

我会说目前 classic non-GUI mode 是不可能的测试执行,选项位于:

  1. 从测试计划中完全删除所有监听器,并使用 Results File Configuration Properties 控制存储在 .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运行测试的工具,它有 Modifications for Existing Scripts功能,因此您将能够使用简单的声明性 YAML 语法禁用监听器:

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

关于JMeter - 仅在非 GUI 中忽略查看结果树监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51054754/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com