9

当我在 JMeter 中发出 HTTP 请求时,我得到类似“此页面使用 JavaScript 并需要启用 JavaScript 的浏览器”的响应数据。如何解决这个问题。

4

4 回答 4

18

JMeter 不是浏览器,不会解释下载页面中的 JavaScript。

JMeter 维基

JMeter 不处理嵌入在 HTML 页面中的 Javascript 或小程序。

JMeter 可以下载相关资源(如果设置正确选项会自动下载一些嵌入式资源),但它不处理 HTML 并执行任何 Javascript 函数。

如果页面使用 Javascript 构建 URL 或提交表单,您可以使用代理记录工具来创建必要的采样器。如果这不可能,则可能需要手动检查代码以确定 Javascript 正在做什么。

根据您的操作,您可以使用Selenium IDE for Firefox创建执行测试。测试将在您的浏览器中运行,因此 JavaScript 也将运行。请注意,尽管我从未使用 Selenium 作为 JMeter 的替代品,也不了解这两种工具的共同特性。

于 2010-07-27T13:50:39.610 回答
2

我想你可以使用 WebDriver 插件来运行真正的浏览器测试(IE/Firefox/Chrome/Selenium)。

这里有很好的文档

于 2015-06-02T20:51:48.443 回答
1

您可以将 WebDriver 添加到 JMeter 测试中以全面评估页面呈现。

Web Driver Sampler 在浏览器(客户端)上自动执行和收集性能指标。到目前为止,大部分性能测试都在服务器端进行。然而,随着技术的进步,HTML5、JS和CSS的改进,越来越多的逻辑和行为被下推到客户端。这增加了网站/webapp 的整体感知性能,但该指标在 JMeter 中不可用。增加整体浏览器执行时间的因素可能包括:

  1. 客户端 Javascript 执行 - 例如。AJAX、JS 模板
  2. CSS 转换 - 例如。3D 矩阵变换、动画
  3. 3rd 方插件 - 例如。Facebook like、双击广告、网站分析等

所有这些都增加了浏览器的整体执行时间,这个项目旨在衡量完成渲染所有这些内容所需的时间。

官方指南:https ://jmeter-plugins.org/wiki/WebDriverTutorial/

于 2017-10-25T14:58:19.440 回答
-4

为了解决这个问题,您需要将 HTTP Cookie/缓存管理器添加到您的线程中。

于 2013-04-11T09:26:44.530 回答