JMeter 和 JavaScript

发布于 2024-09-11 18:33:02 字数 97 浏览 8 评论 0原文

当我在 JMeter 中发出 HTTP 请求时,我收到诸如“此页面使用 JavaScript 并且需要支持 JavaScript 的浏览器”之类的响应数据。如何才能解决这个问题呢?

When I make HTTP Request in JMeter I get Response data like "This page uses JavaScript and requires a JavaScript enabled browser." How is it possible to fix this problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

帥小哥 2024-09-18 18:33:02

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

来自 JMeter wiki

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

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

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

根据您正在执行的操作,您可以使用适用于 Firefox 的 Selenium IDE 创建执行测试。该测试将在您的浏览器中运行,因此 JavaScript 也将运行。请注意,我从未使用 Selenium 作为 JMeter 的替代品,并且不了解这两个工具的共同功能。

JMeter is not a browser, and does not interpret the JavaScript in downloaded pages.

From the JMeter wiki:

JMeter does not process Javascript or applets embedded in HTML pages.

JMeter can download the relevant resources (some embedded resources
are downloaded automatically if the correct options are set), but it
does not process the HTML and execute any Javascript functions.

If the page uses Javascript to build up a URL or submit a form, you
can use the Proxy Recording facility to create the necessary sampler.
If this is not possible, then manual inspection of the code may be
needed to determine what the Javascript is doing.

Depending on what you are doing, you could create an execution test using Selenium IDE for Firefox. The test will run in your browser so the JavaScript will also run. Note though that I never used Selenium as a substitute for JMeter and don't know about common features to both the tools.

终难遇 2024-09-18 18:33:02

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

这里有很好的文档

I suppose you can use the WebDriver plugin to run real browser tests (IE/Firefox/Chrome/Selenium).

There is good documentation here

小猫一只 2024-09-18 18:33:02

您可以将WebDriver添加到JMeter测试来全面评估页面渲染。

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

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

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

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

You can add WebDriver to JMeter test to fully evaluate the page rendering.

Web Driver Sampler automates the execution and collection of
Performance metrics on the Browser (client-side). A large part of
performance testing, up to this point, has been on the server side of
things. However, with the advancement of technology, HTML5, JS and CSS
improvements, more and more logic and behaviour have been pushed down
to the client. This adds to the overall perceived performance of
website/webapp, but this metric is not available in JMeter. Things
that add to the overall browser execution time may include:

  1. Client-side Javascript execution - eg. AJAX, JS templates
  2. CSS transforms - eg. 3D matrix transforms, animations
  3. 3rd party plugins - eg. Facebook like, Double click ads, site analytics, etc

All these things add to the overall browser execution time, and this
project aims to measure the time it takes to complete rendering all
this content.

Official guide: https://jmeter-plugins.org/wiki/WebDriverTutorial/

暖风昔人 2024-09-18 18:33:02

您需要将 HTTP Cookie/缓存管理器添加到您的线程中才能解决此问题。

You need to add HTTP Cookie/Cache Manager to your thread in order to solve this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文