Bootstrap

Jmeter 之线程组

一、线程组介绍

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:立即停止所有测试。

;