JMeter-前置处理器

本文介绍了JMeter的三种前置处理器:BeanShell PreProcessor用于在请求前进行操作,JDBC PreProcessor用于请求前的数据库交互,用户参数则允许线程使用不同的变量值。详细讲解了各个处理器的功能和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置处理器


在sampler 执行之前用来修改sampler的,无法直接被“察看结果树”记录

这里写图片描述

1. BeanShell PreProcessor

使用BeanShell在请求进行之前进行操作。语法使用与BeanShell Sampler是一样的。但可使用的内置变量稍有不同
这里写图片描述
在线程组中添加2个请求,在HTTP请求2 中添加BeanShell PreProcessor,代码如上图,最终运行结果:
这里写图片描述

  1. vars:操作Jmeter变量
        a) vars.get(“name”):从jmeter中获得变量值
        b) vars.put(“key”,”value”):保存数据到jmeter变量中,如果变量不存在会自动创建
  2. props: 操作Jmeter属性
        a) props.get(“START.HMS”);  注:START.HMS为属性名
        b) props.put(“PROP1”,”1234”); 保存数据到Jmeter属性中,如果属性不存在会自动创建
  3. log: 记录日志
    比如log.info(“日志信息”); 具体查看: https://www.slf4j.org/api/org/slf4j/Logger.html
  4. ctx: 操作上下文,具体查看:
    http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html
  5. prev: 操作前一个请求。注意必须有前一个请求才可用,否则会报错,具体查看:
    http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
  6. sampler: 操作当前请求。具体查看:
    http://jmeter.apache.org/api/org/apache/jmeter/samplers/Sampler.html

2. JDBC PreProcessor

在请求运行之前进行数据库操作。
使用方法与JDBC Request 是一样的。
应用场景,比如在修改用户信息,需要知道用户在修改前的信息,可以使用JDBC PreProcessor进行查询
这里写图片描述

3. 用户参数

可以让变量在每个线程中分别使用不同的值。
在多线程测试中可以用到。比如创建用户,用户名不能重复,但要使用多线程进行测试,这时可以用到。
这里写图片描述

比如,添加一个线程组,线程数设置为2,添加一个“用户参数”(上图),再添加一个BeanShell Sampler来获取用户名(打印到日志)
结果,2个线程分别得到不同的name
用户_1: xiaoming,线程1使用的变量
用户_2: xiaohong,线程2使用的变量
这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值