JMeter录制出现冗余记录,请求指导过滤方法
解决JMeter录制blazedemo时的冗余请求问题
1. 精准配置URL过滤规则
先确认「HTTP(S) Test Script Recorder」的「Request Filtering」标签下的规则是否准确:
- URL Patterns to Include:设置为
https://blazedemo.com/*.php,只匹配目标域名下的PHP请求 - URL Patterns to Exclude:添加以下规则覆盖常见冗余资源:
*.js、*.css*.png、*.jpg、*.gif、*.ico、*.svg*.woff、*.woff2、*.ttf、*.eotOPTIONS *(过滤浏览器预请求)*/analytics.js、*/gtag.js(过滤第三方统计脚本)
注意:JMeter过滤器支持简化通配符,但如果规则不生效,换成标准正则表达式更可靠,比如.*\.php代替*.php。
2. 限制录制的请求方法
如果仍有冗余的GET静态资源请求,可以在Exclude规则里结合方法和后缀过滤,比如:
GET *.jsGET *.css
3. 排除浏览器扩展干扰
浏览器扩展(广告拦截、密码管理器、云同步工具等)会在后台发送请求,导致录制冗余内容。切换到浏览器无痕模式,再配置JMeter代理进行录制,避免扩展影响。
4. 检查代理设置唯一性
确保浏览器的代理仅指向JMeter的代理端口(默认8888),没有其他VPN或系统代理在运行,否则可能录制到无关请求。
5. 事后清理冗余请求
如果录制后仍有多余请求,用「Include Controller」快速筛选:
- 新建Include Controller,在「Filename」中填入
.*\.php - 将所有录制的请求移入该控制器,它会自动保留符合规则的PHP请求,过滤其他内容
6. 验证过滤效果
录制前清空「Recording Controller」,只操作blazedemo的核心流程(如订票),录制结束后检查每个请求的URL:
- 若仍有冗余请求,右键查看请求的完整URL,将对应的规则添加到Exclude列表中。
内容的提问来源于stack exchange,提问作者Siddharth Rawat
相关产品推荐
相关产品推荐

