性能通过JMeter测试AJAX调用
我正在为具有AJAX调用的应用程序进行性能测试。我能够记录相同的请求,但无法执行它们。任何人都可以帮我执行AJAX请求吗?性能通过JMeter测试AJAX调用
我需要为此使用任何额外的插件吗?如果是的话,他们是什么以及如何使用它们。
我不知道任何现有的插件能够处理AJAX调用。技术上AJAX请求是基本的HTTP请求,但它们需要并行执行,每次调用一个额外的线程。
目前在JMeter中不可能嵌套线程组,因此您必须使用JSR223 Sampler来做一些额外的编码来启动AJAX请求。主要的请求和嵌套的AJAX调用应该放在Transaction Controller之下,看起来像一个真实的浏览器行为。
或者,您可以开发自己的JMeter采样器,它将能够产生额外的线程来模拟AJAX请求。
有关以上两种方法的详细信息,请参阅How to Load Test AJAX/XHR Enabled Sites With JMeter指南。
虽然它看起来有点休眠,但我构建了这个采样器,它对我来说工作正常。它创建了一个可以添加多个请求的单个采样器,并且它们都是并行触发的。曲奇/头经理/变量提供给请求:
附:我在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 callss – dom 2017-01-02 11:21:48
1.从上面的链接下载所有的源代码。 – MonkeyTester 2017-01-03 09:56:12
2.使用maven构建新的采样器 – MonkeyTester 2017-01-03 09:56:32
谢谢德米特里T的帮助。 :-) – user3627319 2014-09-05 12:59:14