2016-01-31 80 views

回答

1

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

所以你需要指定2个正则表达式排除:.*\.js.*\.js?.*

+0

FYI问号是一个正则表达式运算符 - 它需要转义以匹配URL查询字符串。 –

0

我知道它不回答你的问题,但实际上不包括图像和.js文件是不是你应该做的一般。我宁愿使用该字段过滤掉“外部”网址,这些网址并未与您的应用程序相连,如第三方横幅,小部件,图片等。 - 与您的应用程序无关的任何内容。即使你看到它的响应,这些实体从外部来源加载,你无法控制,所以他们不感兴趣,负载测试的图片可能会受到影响。

所以我建议如下:

  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到您的测试计划,乖巧的浏览器下载图片,脚本和样式只有一次,他们正在从浏览器缓存中返回的后续请求,这种情况需要适当模拟
0

为别人从这里到达谷歌寻找一个回答这个问题:

您可以简单地看错了地方。

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

相反,看记录控制器树(这是默认处于折叠状态),其中的结果实际上被过滤里面:

Visual explanation

相关问题