Jmeter 线程组  ThreadGroup

一、线程组功能介绍

setUPGroup与tearDownGroup 

如果你熟悉loadrunner,那你应该知道loadrunner的脚本中除了   action里是真正的脚本核心内容,还有进行初始化操作的init脚本和测试完毕后对应的end脚本块。那么这里setup thread group 和 teardown  thread group 就是分别指这两部分。
————————————————

  • setUPGroup线程组在测试任务ThreadGroup 运行前先被运行。通常用在运行测试任务前,做初始化工作。例如建立数据库连接初始分化工作。
  • tearDownGroup线程组在测试任务ThreadGroup 运行结束后被运行。通常用来做清理测试脏数据、登出、关闭资源等工作。例如关闭数据库连接。

ThreadGroup

ThreadGroup线程组通过设置线程数来模拟并发用户数,是虚拟用户的发起点。同时支持运行次数、以及定义调度运行时间和延迟启动。

二、ThreadGroup界面介绍

setUPGroup、tearDownGroup与ThreadGroup线程组UI界面功能完全相同,下面只介绍ThreadGroup界面。

访问路径【TestPlan】--【Thread (User)】--【Thread Group】

Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

ThreadGroup元素名称 ThreadGroup功能介绍
Name 定义线程组名称
Comments 描述线程组注释
Action to be taken after a Sample error 取样器发生错误要执行哪个动作,包含下面五个动作
Continue 取样器发生错误,忽略错误 继续执行
Start Next Thread Loop 取样器发生错误,忽略错误 停止当前线程循环,执行下一个循环
Stop Thread 当前线程运行完毕后,停止所有线程
Stop Test 停止测试计划,如果一个测试计划下有多个线程组,那么所有线程组都会停止
Stop Test Now 整个测试计划会立即停止运行
Thread Properties 线程属性包含如下几个设置
Number of Thread(user) 设置线程数,可以在测试计划的用户自定义变量中设置变量,在这里引用测试计划的变量 ${uesr}
ramp-up period 设置启动所有线程需要的时间
Loop Count 设置线程组中的每个线程循环次数
In finite 勾选此项表示线程组中的线程永久执行下去,直到手动停止测试计划
same user on each iteration 每次迭代使用相同的线程
Delay Thread creation until needed 如果勾选了此选项,那么线程只会在合适的需要用到的时候创建
Specify Thread lifetime 线程调度器包含下面两个选项
Duration(seconds) 设置线程组运行多长时间,单位是秒
StartUp delay(seconds) 设置线程启动延时时间,单位是秒

三、设置运行时间

通过Specify Thread lifetime线程调度器设置线程运行时间周期。需要注意Loop Count 必须勾选In finite永久,否则即使设置了Duration运行时间,也不会生效。只会根据Loop Count设置的次数运行。

@同时设置循环次数和运行时间

Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

@运行结果

没有执行3秒钟,而是执行了一次。

Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

@ 设置循环次数为永久,运行时间为3秒。

Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

@运行结果

执行了3秒钟,自动停止线程组。

 Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

四、setUPGroup与tearDownGroup 运行效果

在测试计划中分别添加setUPGroup与tearDownGroup,运行测试计划。查看结果树会发现setUPGroup 在ThreadGroup运行前先运行,tearDownGroup 在ThreadGroup运行结束后再运行。

Jmeter 线程组 setUPGroup--ThreadGroup--tearDownGroup

相关文章: