我是Jmeter的新手,只希望能够运行一次设置请求(在其中设置了一些变量),然后再为我在Number of用户线程组。向这些用户传递在“仅一次控制器”中创建的变量。
我已经使用一次控制器继承了脚本,如下所示:
如果我将线程数设置为10以在一秒钟内增加到10并运行一分钟,我希望“仅一次”控制器中发出的Samples(请求)数量显示为1。我只希望这些请求运行一次,然后再请求使用设置数据。
为什么然后在运行时,在“仅一次控制器”中设置的请求中将示例显示为10:
请记住,鉴于我是Jmeter的新手,可能会有一些基本的误解。
我找到了似乎需要的setUp线程组控制器。但是,这似乎并未将使用JSON提取器提取的变量传递到下一个线程组“负载测试”中
谢谢
答案 0 :(得分:1)
使用Once Only Controller 为每个线程运行特定的采样器
“仅逻辑控制器”告诉JMeter仅每个线程一次
处理JMeter内部的控制器。
您可以将采样器添加到setUp Thread Group中,以便在测试之前执行一次
在测试继续执行常规线程组之前执行。
答案 1 :(得分:0)
根据Once Only Controller文档:
“仅逻辑控制器”告诉JMeter每个线程仅对其内部的控制器进行一次处理,并在测试计划的进一步迭代期间将其下的所有请求传递给它。
因此,无论您的线程组有多少个循环,您的每个线程将仅执行一次Only Controller的子代。
由于您有10个线程,所以10个线程中的每个线程将执行一次请求。
如果您只想通过一个线程执行请求,那么无论线程组中有多少个请求-我都建议改用If Controller
使用以下条件:
${__groovy(ctx.getThreadNum() == 0 && vars.getIteration() == 1,)}