一、线程组介绍
1.定义
setUPGroup:前置线程组
ThreadGroup:任务线程组
tearDownGroup:后置线程组
2.界面
setUPGroup、tearDownGroup与ThreadGroup线程组UI界面功能完全相同
3.功能
setUPGroup线程组在测试任务ThreadGroup线程组运行前先被运行。通常用在运行测试任务前,做初始化工作。例如建立数据库连接初始分化工作。非必要Group,我们也可以在ThreadGroup线程组中通过前置处理器对Smaple进行预置操作。
tearDownGroup线程组在测试任务ThreadGroup 线程组运行结束后被运行。通常用来做清理测试脏数据、登出、关闭资源等工作。例如关闭数据库连接。非必要Group,我们也可以在ThreadGroup线程组中通过后置处理器对Smaple进行后置操作。
ThreadGroup线程组通过设置线程数来模拟并发用户数,是虚拟用户的发起点。同时支持运行次数、以及定义调度运行时间和延迟启动。
4.一个测试计划下可以创建多个线程组
5.测试计划中线程组运行方式
独立运行每个线程组:在测试计划中存在多个线程组,勾选后按照线程组从上到下依次顺序运行每个线程组。
不勾选时多个线程组同时运行。
如果一个线程组下存在多个服务请求,则多个服务请求按照前后位置按顺序执行。
二、Jmeter中线程组控制运行时长
1、取样次数维度:通过循环次数控制
2、时间维度:通过调度器配置-持续时间控制,注意此时循环测试需要设置为永远
注意:
当二者都选择时,以运行时长最短的方式为准,故:
当选择"通过循环次数控制"时,一般不勾选调度器配置
当选择"通过调度器配置-持续时间控制"时,一般将循环次数设置为永远
这样,就总能保证当前使用的是一种运行时长的控制方式
三、线程组中“取样器错误后要执行的动作”
继续:遇错误继续执行,不影响场景运行。默认为继续,常用。
Start Next Thread Loop:执行下次循环,当前循环剩余服务请求不再执行。
停止线程:停止当前线程,其他线程继续执行。
停止测试:执行完剩余线程后停止整个测试。
Stop Test Now:立即停止所有测试。