1

我的 jmeter 中有以下测试计划

|Test Plan
|-Thread Group
|--HTTP Request 1
|--HTTP Request 2
|--HTTP Request 3

在线程组中我设置了:

  • 线程数 - 5
  • 加速期(以秒为单位) - 0
  • 循环计数 -1

当我运行我的测试时,Jmeter 会执行每个请求五次。我正在寻找如何在整个测试运行中只执行每个采样器一次的方法,我知道我可以通过将线程数设置为 1 来实现它,但在这种情况下,测试的执行会非常慢,所以我想做这是并行的方式。

有什么想法我该怎么做?我知道我不能使用 Only Once Controller,因为每个请求也由每个线程执行。

4

4 回答 4

1

另一种选择是使用吞吐量控制器作为每个请求的父级

吞吐量控制器允许用户控制它的执行频率。

选择Total executions吞吐量值1

Total executions 导致控制器在执行一定次数后停止执行。

它只会根据您的需要在每个请求中执行一次

于 2018-09-04T07:48:23.520 回答
0
  1. 将您的请求放在Switch Controller下
  2. 使用${__threadNum}函数作为“开关值”

场景大纲:

JMeter 开关控制器

于 2018-09-03T12:52:49.047 回答
0

你不需要超过 1 个线程,你可以添加 JMeter 插件bzm - Parallel Controller

将其添加为三个请求的父级,它将并行执行

于 2018-09-03T12:25:55.457 回答
0

看看Only Controller这个控制器在每次测试运行时运行一次。“ Once Only Controller 现在将始终在任何循环父控制器的第一次迭代期间执行

于 2018-09-03T15:17:17.910 回答