JMeter包含控制器

时间:2013-07-10 01:47:51

标签: jmeter

第一个脚本

Thread-1
 |--Http Sampler
 |--Include Controller <second script>

第二个脚本

TestPlan
|--Thread-2
|    |--Http Sampler
|--Thread-3
     |--Http Sampler

我运行第一个执行几个步骤的脚本,并使用include controller来调用下一个脚本。我需要第二个脚本线程组(Thread-2和Thread-3)同时运行而不是连续运行。 我理解默认情况下该线程并发运行。但是当我执行我的代码时,我看到了:

  • Thread-1成功
  • Thread-2成功
  • 执行永远不会进入thread-3
你能帮帮我吗?我想知道如何同时运行第二个脚本的线程组?

2 个答案:

答案 0 :(得分:3)

您滥用IncludeController,您需要在包含的测试计划中使用Test Fragment元素(第二个脚本)

答案 1 :(得分:2)

  • 第一个和第二个脚本是单独的测试计划。
  • 第一个测试计划包含一个线程,其中包含一个用于调用第二个脚本或第二个测试计划的包含控制器
  • 第二个测试计划包含2个线程组

解决方案:

  • 在测试计划中取消勾选“连续运行线程”
  • 在第二个测试计划中勾选“延迟线程创建” - 这意味着内存要求与并发活动线程数成比例,而不是总线程数
  • 默认情况下,JMeter中的线程同时运行。

理解并发和同步之间的区别。这是一个有用的链接:How to generate Concurrent User load in Jmeter