Skip to content

JMeter前置处理器

JMeter 前置处理器

简介

在 JMeter 中,前置处理器(Pre Processors)是一种配置元件,用于在每个 Sampler(采样器)执行之前对请求进行处理。前置处理器允许我们在发送请求之前对请求参数进行修改、添加额外的逻辑验证或其他操作,以确保请求能够正确执行并生成需要的测试数据。

常见的前置处理器

  • Sample Timeout
  • BeanShell PreProcessor

添加元件步骤:

alt text

Sample Timeout

在 JMeter 中,Sample Timeout 是一个针对每个 Sampler(采样器)的设置,用于定义在等待响应时允许的最大超时时间。如果超过了设置的 Sample Timeout 时间,JMeter 将放弃该请求,并将其标记为超时。这个设置可以帮助在进行性能测试时控制请求的最大响应时间,并识别潜在的性能问题。

alt text

参数配置介绍:

  • Sample timeout (in milliseconds) :采样超时时间,单位是毫秒。

案例:检查百度首页发送请求的时间是否小于 10 毫秒。

  1. 步骤一:添加百度的 HTTP Request,添加对应的 Sample timeout,添加查看结果树。相关配置

如下图所示:

alt text

  1. 步骤二:查看结果如图所示:断言失败,预期结果为 10 毫秒,而实际结果为 11 毫秒。

alt text

BeanShell PreProcessor

在 JMeter 中,BeanShell PreProcessor 是一种前置处理器,可以使用 BeanShell 脚本语言编写逻辑,用于在执行每个 Sampler(采样器)之前进行自定义处理操作。BeanShell PreProcessor 允许用户编写灵活的代码来操作请求参数、处理数据或执行其他任何自定义操作,以满足特定的测试需求。

常用参数配置介绍:

  • Script file:包含要运行的 BeanShell 脚本的文件,文件名存储在变量 FileName 中,添加了脚本文件后,就只会运行添加的脚本文件,Script 部分的脚本代码不会运行了。
  • Script:要运行的 BeanShell 脚本,返回值如果不为 null,就存储为采样器结果。

案例:通过程序生成当前时间戳,将时间戳值赋值给变量,然后传递给后续的请求样本。

  1. 步骤一:添加百度的 HTTP Request,添加对应的 BeanShell PreProcessor,添加查看结果树和 Debug Sampler。

相关配置如下图所示:

alt text

  1. 步骤二:在 BeanShell PreProcessor 元件中添加对应脚本获取当前时间戳

如下图所示:

alt text

  1. 步骤三:查看结果如图所示:时间戳添加在请求参数中。

alt text

总结

  • JMeter 前置处理器简介
  • 常见的前置处理器的使用