使用apache jmeter测试DWR调用

时间:2017-08-19 09:19:07

标签: java ajax spring jmeter dwr

我的网络项目有dwr调用,如:

来自javascript的电话是

DataController.executeValidate(captureData, changeCurrentStatus);

dwr.xml文件的代码如下:

<create creator="spring" javascript="DataController">
        <param name="beanName" value="baseAjaxTarget" />
</create>

这个bean在dao-context.xml文件中定义如下:

<bean id="baseAjaxTarget"  class="com.dwr.controller.BaseAjaxController">
    //properties
</bean>

我必须使用jmeter测试。现在executeValidate中的BaseAjaxController方法使用jmsTemplate触发活动mq上的消息。所以我必须通过jmeter运行它,以便在活动的mq上触发数千条消息,以便我可以测试它们。

1 个答案:

答案 0 :(得分:0)

根据JMeter Project Main Page

  

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

因此JMeter不会像浏览器那样评估任何JavaScript。如果存在与AJAX调用关联的相关HTTP请求(最有可能) - 您可以使用额外的HTTP Request来模拟此调用。您可以将请求放在Transaction Controller下以测量主要和AJAX请求的累积时间。

另一种选择是使用JMeter的JMS Publisher直接向ActiveMQ发送消息,请查看Building a JMS Testing Plan - Apache JMeter以获取有关如何使用JMeter进行MQ测试的更多详细信息。