【01JMeter基础】线程组
线程组
我们存在接口请求的地方,在JMeter中我们使用最多的模块,分为 setUp线程组、线程组、tearDown线程组
setUp线程组:不论如何排序,都会在所有的线程组中被最早执行,如果有多个setUp线程组,则按照顺序一个个执行
tearDown线程组:不论如何排序,都会在所有的线程组被执行或者跳过执行后才触发执行,会不会被执行根据实际设定判断
线程组:我们平时使用最多的一种线程组,在setUp线程组与tearDown线程组之间被执行,根据测试计划的设置串行或者并行执行
在取样器错误后要执行的动作
继续:忽略错误,仅在监听器中记录错误信息,继续往下执行接口
Start Next Thread Loop:开始线程的下一次循环,进入下一个循环,对应线程组线程属性中的循环次数
停止线程:停止当前线程的执行,如果有线程组有多个线程数,不影响其他线程的执行,对应线程组线程属性中的线程数
停止测试:停止当前测试计划,根据测试计划的对于tearDown线程组的配置判断是否执行
Stop Test Now:停止当前线程组,继续后面的线程组执行
线程属性
线程数:
指定时间内运行的线程数量,常被用来模拟并发情况
Ramp_Up period:
单位为秒,指定场景线程数加载时长,线程的加载间隔为 Ramp_Up period/线程数
循环次数:
每个线程下的业务场景循环执行次数
当填写正整数时,会根据所填数量按照配置条件执行线程组下的取样器。
当填写小数、字母、各种符号、0时,全部以填入0处理,根据填入的田间执行线程组。
当填写负数时,线程数、加载时长会以0处理,循环次数会自动被修正成勾选永远,然后根据填入的田间执行线程组。
当循环次数勾选永远时,会一直循环执行线程组下的线程,直至点击停止。
当填写变量时,变量值依照上方几种情况的逻辑执行。
Delay Thread creation until needed:
当需要的时候再创建线程
官方文档描述为:当加载时长远大于线程执行时间时,适合勾选,当启动新线程时仍有其他线程在运行时候建议不勾选
因为当不勾选时,会在测试开始执行时候先创建好所有线程,当勾选时候会在需要的时候再创建线程,后者会对接口性能有一定影响
调度器:
持续时间:单位为秒,线程组持续运行时间,根据持续时间与线程组实际可执行时间取小者
仅支持输入正整数或者值为正整数的变量,输入其他会报错提示
比如线程组循环次数为永远、持续时间为10秒,则线程组只能执行10秒钟
线程组循环1次,所有接口返回时长合计1S,持续时间为10秒,则线程组只能执行1秒钟
启动延迟:单位为秒,线程组执行延迟时长
输入正整数,则按照输入值延迟启动线程组
输入0、小数、字母、特殊符号等,以延迟0秒处理
输入负数,执行报错