JMeter前置处理器
JMeter 前置处理器
简介
在 JMeter 中,前置处理器(Pre Processors)是一种配置元件,用于在每个 Sampler(采样器)执行之前对请求进行处理。前置处理器允许我们在发送请求之前对请求参数进行修改、添加额外的逻辑验证或其他操作,以确保请求能够正确执行并生成需要的测试数据。
常见的前置处理器
- Sample Timeout
- BeanShell PreProcessor
添加元件步骤:
Sample Timeout
在 JMeter 中,Sample Timeout 是一个针对每个 Sampler(采样器)的设置,用于定义在等待响应时允许的最大超时时间。如果超过了设置的 Sample Timeout 时间,JMeter 将放弃该请求,并将其标记为超时。这个设置可以帮助在进行性能测试时控制请求的最大响应时间,并识别潜在的性能问题。
参数配置介绍:
- Sample timeout (in milliseconds) :采样超时时间,单位是毫秒。
案例:检查百度首页发送请求的时间是否小于 10 毫秒。
- 步骤一:添加百度的 HTTP Request,添加对应的 Sample timeout,添加查看结果树。相关配置
如下图所示:
- 步骤二:查看结果如图所示:断言失败,预期结果为 10 毫秒,而实际结果为 11 毫秒。
BeanShell PreProcessor
在 JMeter 中,BeanShell PreProcessor 是一种前置处理器,可以使用 BeanShell 脚本语言编写逻辑,用于在执行每个 Sampler(采样器)之前进行自定义处理操作。BeanShell PreProcessor 允许用户编写灵活的代码来操作请求参数、处理数据或执行其他任何自定义操作,以满足特定的测试需求。
常用参数配置介绍:
- Script file:包含要运行的 BeanShell 脚本的文件,文件名存储在变量 FileName 中,添加了脚本文件后,就只会运行添加的脚本文件,Script 部分的脚本代码不会运行了。
- Script:要运行的 BeanShell 脚本,返回值如果不为 null,就存储为采样器结果。
案例:通过程序生成当前时间戳,将时间戳值赋值给变量,然后传递给后续的请求样本。
- 步骤一:添加百度的 HTTP Request,添加对应的 BeanShell PreProcessor,添加查看结果树和 Debug Sampler。
相关配置如下图所示:
- 步骤二:在 BeanShell PreProcessor 元件中添加对应脚本获取当前时间戳
如下图所示:
- 步骤三:查看结果如图所示:时间戳添加在请求参数中。
总结
- JMeter 前置处理器简介
- 常见的前置处理器的使用