Jmeter模块详解(1)测试计划&线程组
目录
测试计划Test Plan
独立运行每个线程组:默认为多线程组并行运行,勾选则依顺序运行;(setUP和tearDown线程组依旧比普通线程组优先或最后执行)
库文件:可导入jar包,如数据库驱动jar包
线程用户Threads Users
多线程组用来跑没有关联的多场景混合,单一线程组内都算是单场景(比如有多个请求关联,只能在同一线程组内执行)
同一线程组下,每个线程都是串行执行该线程组下的多个请求
线程组Thread Group
线程组相当于LR的Action,一个线程组可以包含多个取样器
线程组参数详解:
1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。
3. 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
4. Delay Thread creation until needed:直到需要时延迟线程的创建。
5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
持续时间(秒):测试持续时间,会覆盖结束时间
启动延迟(秒):测试延迟启动时间,会覆盖启动时间
启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。
结束时间:测试结束时间,持续时间会覆盖它。
*在没有添加任何逻辑控制器情况下,样本总数=线程数x循环次数x取样器数
*Ramp-Up时间的说明:
如下设置线程数为2,RampUP为10即5秒启动一个线程,图二可以看到相隔约5秒才开始启动第二个线程。而同一线程的多次迭代是连续不间断执行的,迭代间隔时间需用固定定时器控制
setUP线程组
可用于执行预测试操作,所有线程组之中优先执行;类似LoadRunner的init
如下图即使setUp线程组放到线程组三后面,也会先执行setUp线程组:
tearDown线程组
最后执行的线程组;类似LoadRunner的end
Stepping Thread Group梯度递增线程组
需要下载Custom Thread Groups插件
最大并发300,100并发递增施压,每100并发持续30s,达到300并发后持续运行60s,然后立即结束:
Ultimate Thread Group梯度自由线程组
需要下载Custom Thread Groups插件,可以实现任意的梯度场景
梯度递增:
梯度递减:
复杂的梯度: