Jmeter排除URL模式不起作用

时间:2016-01-31 06:13:37

标签: jmeter pattern-matching

enter image description here

我使用Jmeter HTTPS测试脚本记录器来记录登录请求。

请看快照,我已经添加了URL模式以排除.js文件,但我仍然得到了js请求。 为什么会失败?

3 个答案:

答案 0 :(得分:1)

如果查看上述请求的内容,可以检查一下。他们很可能是GET个请求,并且很可能他们有一个或多个参数。正则表达式.*\.js专门针对网址末尾的.js 。但是,如果GET请求具有参数,则在记录其URL时看起来像<...>.js?param=value,因此正则表达式.*\.js将不匹配(尽管请求的名称仍然相同)。

因此,您需要指定2个正则表达式排除项:.*\.js.*\.js?.*

答案 1 :(得分:0)

我知道它没有回答你的问题,但实际上排除图像和.js文件不是你应该正常做的事情。我宁愿使用该字段来过滤掉与您的应用程序无关的“外部”URL,如第三方横幅,小部件,图像等 - 任何与您的测试应用程序无关的内容。即使您在响应中看到它们,这些实体也是从外部源加载的,您无法控制这些实体,因此它们并不有趣,并且负载测试的图片可能会受到影响。

所以我建议如下:

  1. 在“分组”下拉菜单中选择Store 1st sampler of each trade group only
  2. 确保在记录的请求中启用了Follow RedirectsRetrieve All Embedded Resources.。如果没有 - 通过HTTP Request Defaults启用它们。同时检查Use concurrent pool框是否为真实浏览器以多线程方式下载图像,样式和脚本。
  3. 在运行测试时,将HTTP Cache Manager添加到测试计划中,因为行为良好的浏览器只会下载图像,脚本和样式一次,后续请求将从浏览器缓存中返回,这种情况需要正确模拟

答案 2 :(得分:0)

对于从谷歌到这里寻找这个问题答案的其他人:

您可能只是在寻找错误的地方。

如果您正在查看工作台结果树,则会看到所有请求。这里没有过滤它们。我认为这是JMeter的一个错误次数比我承认的要多。

相反,请查看录制控制器树(默认情况下已折叠),其中结果实际上已被过滤:

Visual explanation