我有一个包含多个线程组的测试计划,每个线程组执行不同类型的请求 . 整个测试计划模拟我们的环境 .
每个线程都使用一个特殊的资源向服务器发送请求,该资源正在构建一次(使用Once Once Controller)并存储在Jmeter Variables中 . Jmeter变量不在线程之间共享,所以如果我有10个线程组,每个线程有10个线程,我创建了100个资源 .
一旦每个线程完成其工作,我想断开此资源 .
无法使用拆解线程组,因为Jmeter变量只能由存储它的线程看到 .
具体问题是:我怎么知道一个线程何时完成了Groovy的工作?
2 回答
你 cannot ,但你可以获得当前的线程数和当前的迭代,如:
另一种选择是将JMeter变量转换为JMeter属性(它们是整个JVM的全局属性,因此可以从不同的线程组访问)并在tearDown线程组中执行清理,如:
参考文献:
JMeterContext
JMeterVariables
Knit One Pearl Two: How to Use Variables in Different Thread Groups
根据您的要求,FIFO插件似乎是一个不错的选择 . 请检查here .
基本上,要清除的所有资源都会添加到队列中 - 有一个单独的线程组可以检查此队列并清除资源 .