jmeter(六)-定时器

定时器的作用域
  • 定时器是在每一个取样器之前执行,无论定时器位置取样器位于取样器的上面还是后面
  • 当执行一个取样器之前时,所有当前作用域内的定时器都会被执行
  • 当需要定时器仅应用于一个取样器时,则把定时器作为子节点加入
  • 如果希望在取样器执行完之后再等待,则可以使用’测试活动‘
image.png
定时器的作用:

1,固定定时器
定义:让需要每个线程在请求之前按相同的指定时间停顿
注意:1),固定定时器的响应时间不会记入每个取样器的响应时间
2),固定定时器的响应时间会被记录事务控制器的时间


固定定时器.png

2,高斯随机定时器
定义:让需要每个线程在请求前按随机时间停顿,上面是随机在100到400秒之间
计算公式:Math.abs((this.random.nextGaussian() * 300) + 100)


高斯随机定时器.png

3,统一随机定时器
定义:和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和
(1)Random Delay Maximum(in milliseconds):随机延迟时间的最大毫秒数
(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数


统一随机定时器

4,固定吞吐量定时器
定义:JMeter以指定数字的吞吐量(即指定TPS,只是这里要求指定每分钟的执行数,而不是每秒)执行


image.png

5,同步定时器
定义:类似loadrunner当中的集合点,作用阻塞进程,直到指定线程数量到达后一起爆发
1),模拟用户的数量:即指定同时释放的线程数数量
2),超时时间,超时多少毫秒后同时释放指定的线程数


image.png

6,Beanshell定时器
定义:万能定时器(待补充)


image.png
  • 重置解释器:每次迭代是否重置解析器,默认为false;在长时间运行的脚本中建议设置为true
  • 文件名:BeanShell脚本可以从脚本文件中读取。
  • Script:在Script区直接写BeanShell脚本。在脚本中可以调用Jmeter的运行属性

log:直接调用log类来写日志。
如调用log.error()写日志或log.info()。可以设置以下日志级别: FATAL_ERROR,ERROR, WARN, INFO,DEBUG,其中FATAL_ERROR打印日志最少,DEBUG级别日志最详细。 log_level.jmeter=INFO,INFO级别,只有等于及高于这个级别的才打印日志,如果配置为INFO只显示INFO,WARN, ERROR的log信息,而DEBUG信息不会被显示
ctx:可通过获取JmeterContent实例来获取运行时信息,如获取线程号
log.error(ctx.getThreadNum().toString())
vars:能访问Jmeter中定义的变量,获取值,如vars.get(String key);也可以设置变量值,如 vars.put(“company”,“www.roadtest.org”);同时company变量还可以被其他元件调用。
props:可以直接访问Jmeter的属性,也可以设置Jmeter属性。获取Jmeter当前的日志:props.get(“log_level.jmeter”) 级别;然后修改日志级别为ERROR:props.put(“log_level.jmeter”,“ERROR”);再打印即是ERROR级别: log.error(props.get(“log_level.jmeter”))。

你可能感兴趣的:(jmeter(六)-定时器)