我的网络项目有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上触发数千条消息,以便我可以测试它们。
答案 0 :(得分:0)
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测试的更多详细信息。