Jmeter按顺序运行线程以获取不同的循环计数

时间:2018-11-05 20:57:54

标签: jmeter jmeter-plugins jmeter-3.2 jmeter-4.0 jmeter-maven-plugin

我遇到以下情况的线程

1thread ---2 loops
 --request1(post)
   --json extractor(id)
2thread ---4loops
 --request2
 --request3
3thread ---2loops
 --request4(deleting that created in 1st thread using id extracted)

我必须执行以下请求

request1
request2
request3
request2
request3
request2
request3
request2
request3
request4
request1
request2
request3
request2
request3
request2
request3
request2
request3
request4

2 个答案:

答案 0 :(得分:0)

您的设计过于复杂,我的期望是您不需要Thread Groups,而不必使用其他pass the id between thread groups which is possible,但在您的情况下是不必要的

相反,我建议您在需要进行1次以上迭代的地方使用Loop Controller

测试计划示例:

  • 线程组(具有1个线程和1个循环)
    • 循环控制器(带有2个循环)
      • 请求1
        • JSON提取器
      • 循环控制器(带有4个循环)
        • 请求2
        • 请求3
      • 请求4

演示:

enter image description here

答案 1 :(得分:0)

您可以做的一件事是通过在循环计数字段中指定- $ {__ P(LoopCount1,2)} 在运行时将循环计数值传递给脚本。

>

将变量 $ {__ P(LoopCount1,2)} 用于第一个循环,将 $ {__ P(LoopCount2,2)} 用于第二个循环,将 $ {__ P (LoopCount3,2)} ,然后尝试在非gui模式下借助-

jmeter -n -t (location of script) -l location for result file -j location for logfile -JThreadGroup=%ThreadGroup% -JRampUpTime=%RampUpTime% -JLoopCount=%LoopCount1% -JLoopCount=%LoopCount2% -JLoopCount=%LoopCount3%