【问题标题】:Performance Testing of AJAX calls via JMeter without WebDriver通过没有 WebDriver 的 JMeter 对 AJAX 调用进行性能测试
【发布时间】:2016-01-22 19:15:31
【问题描述】:

我已经实现了一个 Web 应用程序。在这个应用程序中,我们有一个起始页。 在这个起始页中,我们有一个搜索功能,它是一个用于渲染特定组件的 ajax 调用。 对于此页面,我必须执行负载测试。我尝试使用 Recording Logic Controller 来记录浏览器中的操作。当我运行录制的脚本时,搜索功能不起作用。 我不确定这种方法对 Ajax 调用执行负载测试是否正确。

谁能告诉我,如何通过 JMeter 对 Ajax 调用执行负载测试!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    JMeter 不是浏览器,因此它既不呈现响应也不执行 JavaScript。然而,它能够捕获 AJAX 请求,如何重放它们取决于您。

    可能的请求失败有多种原因:例如缺少或硬编码的参数、缺少标头等,您可以将View Results Tree 侦听器添加到您的测试计划中,以便查看您的搜索请求和响应详细信息。解决这个问题的唯一方法是使用嗅探器工具(如Wireshark)捕获源自 JMeter 和真实浏览器的相同场景,比较请求并相应地配置 JMeter。

    请参阅How to Load Test AJAX/XHR Enabled Sites With JMeter 了解所描述的负载测试 AJAX 应用程序的一些方法。

    【讨论】:

      【解决方案2】:

      AJAX 通常以 POST 请求的形式发送,以 __AjaxRequestVerificationToken 作为参数之一。要成功发送 AJAX 请求,您需要:

      • 从使用 AJAX 的页面中提取此令牌(XPath Extractor 是最有效的方法)
      • 使用嗅探器工具或 Chrome 网络记录器来捕获随请求发送的所有参数(确保您已将“方法”设置为 POST)
      • 在 AJAX 发布请求采样器的 HTTP 标头管理器中将“X-Requested-With”标头的值设置为“XMLHttpRequest”,将“Content-Type”设置为“application/x-www-form-urlencoded”
      • 将“X-Request-Verification-Token”值设置为您提取的 VerificationToken

      【讨论】:

        猜你喜欢
        • 2014-10-27
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多