线程(用户)Threads(Users) :线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程下。所有的任务都是基于线程组。
一、setup thread group
一种特殊的threadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组原件。不同的是执行顺序---它会在普通线程组执行之前被触发。
应用场景举例:测试数据库操作功能时,用于执行打开数据库连接的操作。
二、 teardown thread group
一种特殊类型的TreadGroud的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组原件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。
应用场景举例:测试数据库操作功能时,用于执行关闭数据库连接的操作,或者清理测试数据。
需注意:默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。
如果你想要运行它,则需要从Test Plan界面中选中复选框“Run tearDown Thread Groups after shutdown of main threads”。
三、 thread group(线程组)
这个就是我们通常添加运行的线程。可以看作一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
线程组基本设置 :
(1)取样器错误后要执行的动作(Action to be taken after a Sample error):
- 继续(Continue):忽略错误,继续执行
- 启动下一进程循环(Start Next Thread Loop): 忽略错误,线程当前循环终止,执行下一个循环。
- 停止线程(Stop Thread):当前线程停止执行,不影响其他线程正常执行。
- 停止测试(Stop Test):整个测试会在所有当前正在执行的线程执行完毕后停止。
- 立即停止测试(Stop test now):整个测试会立即停止执行,当前正在执行的取样器可能会被中断。
(2)线程属性(Thread Praperties):
- 线程数(Number of Thread (users)):线程数也就是并发数,每个线程将会完全独立的运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问。
- Rum-up时间(秒):加速期时间,在该设置时间内启动所有线程
- 循环次数(Loop Count):该项设置线程组在结束前每个线程循环的次数。可以勾选永远,如果未设置运行时间,需要手动停止
- 延迟线程创建直到需要(Delay Thread creation until needed):默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。
- 调度器(Scheduler):可以更灵活的控制线程组执行的时间
(3)调度器设置(Scheduler Configuration):
- 持续时间(秒):如果选择了调度程序复选框,控制测试执行的持续时间,以秒为单位。
- 启动延迟(秒):如果选择了调度程序复选框,控制测试在多久后启动执行,以秒为单位。