如何在JMeter录制脚本时过滤OPTIONS方法请求?
解决JMeter录制阶段过滤OPTIONS请求的有效方法
由于OPTIONS请求通常不带Content-Type请求头,所以通过Content-Type过滤器无法生效,以下是几种直接在录制阶段过滤这类请求的可行方案:
方法一:利用JMeter内置的请求方法过滤器
- 打开HTTP(S)测试脚本录制器或bzm-Correlation录制器的Request Filters标签页
- 在「URL Patterns to Exclude」区域,添加匹配规则
.*(匹配任意URL) - 在该规则下方的「Method」下拉菜单中选择 OPTIONS
- 保存配置后开始录制,所有OPTIONS请求会被直接排除
方法二:通过Groovy脚本强制过滤
如果内置过滤器满足不了需求,可以用JSR223前置处理器实现自定义过滤:
- 在录制器对应的线程组下添加「JSR223 PreProcessor」
- 选择脚本语言为Groovy,输入以下脚本:
if (sampler.getMethod().equalsIgnoreCase("OPTIONS")) { sampler.setIgnore(true) }
- 录制时该脚本会自动检测请求方法,遇到OPTIONS请求直接标记为忽略,不会保存到测试计划中
方法三:bzm-Correlation录制器专属配置
如果你用的是bzm-Correlation录制器,可以直接利用它的高级过滤功能:
- 打开录制器的Filter Settings面板
- 在「Exclude Requests」区域点击「Add Rule」
- 选择规则类型为 Request Method,匹配值填
OPTIONS,设置完成后保存 - 启动录制即可自动过滤所有OPTIONS请求
注意事项
- 确认过滤器配置已启用(部分录制器需要勾选「Enable Filters」选项)
- 如果后续需要调试预检请求,可以临时关闭过滤规则
- 部分复杂场景下,OPTIONS请求可能携带业务相关信息,过滤前请确保不会影响测试逻辑
内容的提问来源于stack exchange,提问作者ralph yao
相关产品推荐
相关产品推荐

