如何在JMeter的JSR223脚本中获取指定线程组的采样器总数
获取JMeter线程组中采样器数量的方法
方法1:GUI界面直接查看
- 打开JMeter测试计划,找到「Test 1 Thread Group」线程组
- 点击线程组左侧的展开箭头,直接数下方属于采样器类型的节点(比如HTTP请求、Java请求等)数量,本例里就是3个
方法2:用JSR223脚本动态获取
在线程组内添加一个JSR223 Sampler或JSR223 PreProcessor,粘贴以下Groovy代码:
// 获取当前线程组对象 def threadGroup = ctx.getThreadGroup() // 提取线程组下的所有采样器 def samplers = threadGroup.getSamplers() // 打印数量到日志 log.info("Test 1 Thread Group的采样器数量:" + samplers.size()) // 把数量存入变量,方便后续场景引用 vars.put("samplerCount", String.valueOf(samplers.size()))
运行测试后,查看JMeter日志就能看到结果,也可以通过${samplerCount}直接引用这个数值。
方法3:离线解析JMX测试计划文件
如果有本地的.jmx测试计划文件,可以用Groovy/Java代码离线解析(需引入JMeter核心jar包):
import org.apache.jmeter.save.SaveService import org.apache.jmeter.threads.ThreadGroup // 加载本地JMX测试计划文件 def testPlan = SaveService.loadTree(new File("你的测试计划.jmx")) // 遍历找到目标线程组 testPlan.getTreeNodesOfType(ThreadGroup).each { group -> if (group.getName() == "Test 1 Thread Group") { println("采样器数量:" + group.getSamplers().size()) } }
内容的提问来源于stack exchange,提问作者dnk.nitro
相关产品推荐
相关产品推荐

