【问题标题】:How to enable JS on jmeter while doing performance testing如何在进行性能测试时在 jmeter 上启用 JS
【发布时间】:2019-12-10 06:07:08
【问题描述】:

我需要进行性能测试 当我在 jmeter 上做同样的事情时

我正在我的网站上进行性能测试。 和错误显示“请打开 JavaScript 并重新加载页面”。 那你能指导我如何通过 jmeter 启用 JS 吗?

【问题讨论】:

    标签: testing automation jmeter automated-tests performance-testing


    【解决方案1】:

    你不能。

    根据JMeter project main page

    JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并不执行浏览器支持的所有操作。 特别是,JMeter 不执行 HTML 页面中的 Javascript。 它也不像浏览器那样渲染 HTML 页面(可以将响应视为 HTML 等,但不包括时间在任何样本中,并且一次只显示一个线程中的一个样本)。

    我能想到 3 种可能的处理 JavaScript 的方法:

    1. 它在客户端(在浏览器中)执行,不会产生网络请求。如果是这种情况,您可以在测试后端而不是客户端时简单地忽略它。如果您需要测试客户端性能 JMeter 由于上述原因无法提供帮助,请考虑使用浏览器自动化工具,如 Selenium,或者如果您使用 JMeter 作为全局框架,则 WebDriver Sampler 插件提供 JMeter 与 Selenium 的集成
    2. 如果 JavaScript 产生一个或多个 HTTP 请求 - 为了使您的测试表现得更像真正的浏览器,您应该执行这些请求。尽管 JMeter 无法解析 JavaScript,但它能够通过 HTTP Request 采样器记录源自 JavaScript 的 HTTP Requests。如果有多个请求,即应用程序是基于 AJAX 技术构建的,最好将 HTTP 请求采样器放在 Parallel Controller 下,因为真正的浏览器或多或少会同时执行 AJAX 请求
    3. JavaScript 用于生成一些必要的请求参数、cookie、标头等。如果是这种情况,您需要了解 JavaScript 代码在做什么(您可以使用您最喜欢的 browser developer tools 对其进行调试)并重新实现代码使用JSR223 Test Elements 最好是Groovy 语言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多