【问题标题】:Performance Testing of AJAX calls via JMeter通过 JMeter 进行 AJAX 调用的性能测试
【发布时间】:2014-10-27 18:15:37
【问题描述】:

我正在对具有 AJAX 调用的应用程序进行性能测试。我能够记录相同的请求但无法执行它们。谁能帮我执行 AJAX 请求?

我需要为此使用任何额外的插件吗?如果是,它们是什么以及如何使用它们。

【问题讨论】:

    标签: ajax jmeter load-testing performance-testing jmeter-plugins


    【解决方案1】:

    这个对我们有用 - 我们只是将多个 HTTP Request 采样器直接放在它下面:

    https://github.com/Blazemeter/jmeter-bzm-plugins/blob/master/parallel/Parallel.md

    来自链接:

    图片注释:

    此控制器的所有直接子元素都将并行执行。

    【讨论】:

      【解决方案2】:

      虽然它看起来有点休眠,但我构建了这个采样器,它对我来说运行良好。它创建了一个采样器,您可以向其中添加多个请求,并且它们都是并行触发的。 Cookie/标头管理器/变量可用于请求:

      https://github.com/blackboard/jmeter-common/tree/master/src/main/java/blackboard/jmeter/sampler/ConcurrentHttpRequests

      附言我在 ConcurrentHttpRequestsSampler.java 中的 processResult 方法中添加了一行,以将响应主体写入以子样本名称为前缀的 jmeter 变量,因为来自子请求的响应主体对 ConcurrentHttpRequests 采样器上的后处理器不可用:

      try{
          jmeterContextOfParentThread.getVariables().put(subResult.getSampleLabel()+"_responseBody",new String(subResult.getResponseData(),"UTF-8"));
        }
        catch(java.io.UnsupportedEncodingException e) {
          jmeterContextOfParentThread.getVariables().put(subResult.getSampleLabel()+"_responseBody","Unable to read response data");
        }
      

      【讨论】:

      • 如何使用它..你能告诉我一些步骤..我是 jmeter 的初学者,在第一页我必须测试 ajax 调用
      • 2.使用 maven 构建新的采样器
      • 3.将编译好的采样器复制到你的 jmeter\lib\ext 文件夹中
      • 4.现在应该可以在 JMeter GUI 中使用新的采样器
      【解决方案3】:

      我不知道任何能够处理 AJAX 调用的现有插件。从技术上讲,AJAX 请求是基本的 HTTP 请求,但它们需要在每次调用时使用一个额外的线程并行执行。

      目前在 JMeter 中不可能有嵌套线程组,因此您必须使用 JSR223 Sampler 进行一些额外的编码来启动 AJAX 请求。主请求和嵌套 AJAX 调用应放在Transaction Controller 下,以看起来像真正的浏览器行为。

      或者,您可以开发自己的 JMeter 采样器,它能够产生额外的线程来模拟 AJAX 请求。

      有关上述两种方法的详细信息,请参阅How to Load Test AJAX/XHR Enabled Sites With JMeter 指南。

      【讨论】:

      • 感谢 Dmitri T 的帮助。 :-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多