gpt4 book ai didi

java - JMeter 计数 Controller

转载 作者:行者123 更新时间:2023-12-01 09:22:53 25 4
gpt4 key购买 nike

我有一个 JMeter 脚本,我想在其中计算线程中有多少个 Controller 。我想在遍历它们之前先数一下它们。我知道如果我运行它们,我可以用 beanshell 对它们进行一一计数,但我想在进入线程之前或在 Controller 上方的线程开始时对它们进行计数。

最佳答案

您可以添加Beanshell Sampler某处并使用以下代码来确定吞吐量 Controller 计数:

import org.apache.jmeter.control.ThroughputController;
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jorphan.collections.HashTree;
import org.apache.jorphan.collections.SearchByClass;

import java.lang.reflect.Field;
import java.util.Collection;

StandardJMeterEngine engine = ctx.getEngine();
Field test = engine.getClass().getDeclaredField("test");
test.setAccessible(true);
HashTree testPlanTree = (HashTree) test.get(engine);

SearchByClass throughputControllersSearch = new SearchByClass(ThroughputController.class);
testPlanTree.traverse(throughputControllersSearch);
Collection throughputControllers = throughputControllersSearch.getSearchResults();
log.info("Found " + throughputControllers.size() + " throughput controllers in the test plan");

演示:

Beanshell Sampler

引用文献:

参见How to Use BeanShell: JMeter's Favorite Built-in Component有关在 JMeter 测试中使用 Beanshell 的更多信息以及一些示例

关于java - JMeter 计数 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40041873/

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