在线程组中添加延迟 - JMeter
Adding a delay in a thread group - JMeter
这听起来像是一个重复的问题,但确实如此,在将其放在这里之前我已经搜索了很多。
我有一个包含 10 个用户和 28 个 HTTP 请求的线程组,我想要的是这样的:
Thread 1 --->rqst 1
Thread 1 --->rqst 2
Thread 1 --->rqst 3
.
.
Thread 2 --->rqst 1
Thread 2 --->rqst 2
Thread 2 --->rqst 3
.
.
Thread n --->rqst n
延迟一分钟
重新开始。
我尝试在线程组中使用常量计时器,但我得到的是每次所有线程都执行一个请求。
谁能解释一下这是如何实现的。
在最后一个请求之后添加一个 beanshell 计时器,类似这样
if (${__threadNum} == 10){
Integer WaitTime = Integer.parseInt(vars.get("WaitTime"));
return WaitTime;
}
如果最后一个线程已启动,则从 var WaitTime 添加一个以毫秒为单位的睡眠。
至少有2个选项:
在所有请求后添加Test Action Sampler并配置如下:
- 目标:
All Threads
- 操作:
Pause
- 时长:
60000
- 添加常量计时器 作为
rqst 1
的子项。计时器在 before 采样器之前执行,因此只有一个请求会受到影响。有关计时器范围的更多详细信息以及每个计时器的详细说明,请参阅 A Comprehensive Guide to Using JMeter Timers。
在这两种情况下延迟不会包含在测试结果中
这听起来像是一个重复的问题,但确实如此,在将其放在这里之前我已经搜索了很多。
我有一个包含 10 个用户和 28 个 HTTP 请求的线程组,我想要的是这样的:
Thread 1 --->rqst 1
Thread 1 --->rqst 2
Thread 1 --->rqst 3
.
.
Thread 2 --->rqst 1
Thread 2 --->rqst 2
Thread 2 --->rqst 3
.
.
Thread n --->rqst n
延迟一分钟 重新开始。
我尝试在线程组中使用常量计时器,但我得到的是每次所有线程都执行一个请求。
谁能解释一下这是如何实现的。
在最后一个请求之后添加一个 beanshell 计时器,类似这样
if (${__threadNum} == 10){
Integer WaitTime = Integer.parseInt(vars.get("WaitTime"));
return WaitTime;
}
如果最后一个线程已启动,则从 var WaitTime 添加一个以毫秒为单位的睡眠。
至少有2个选项:
在所有请求后添加Test Action Sampler并配置如下:
- 目标:
All Threads
- 操作:
Pause
- 时长:
60000
- 目标:
- 添加常量计时器 作为
rqst 1
的子项。计时器在 before 采样器之前执行,因此只有一个请求会受到影响。有关计时器范围的更多详细信息以及每个计时器的详细说明,请参阅 A Comprehensive Guide to Using JMeter Timers。
在这两种情况下延迟不会包含在测试结果中