2017-08-19 2 views
0

Ich habe eine Webprojekt Anrufe dwr mit wie:Testing DWR ruft Apache jmeter mit

Der Aufruf von Javascript

DataController.executeValidate(captureData, changeCurrentStatus); 

Die dwr.xml Datei hat Code wie:

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

Diese Bean ist in den Dao-context.xml-Dateien wie folgt definiert:

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

Ich muss dies mit Jmeter testen. Jetzt diese executeValidate Methode in BaseAjaxController feuert Nachricht auf dem aktiven mq mit JmsTemplate. Also muss ich dies durch jmeter laufen lassen, damit Tausende von Nachrichten auf aktivem mq abgefeuert werden, damit ich sie testen kann.

Antwort

0

Nach JMeter Project Main Page

JMeter ist kein Browser, funktioniert es auf Protokollebene. Was Web-Services und Remote-Services angeht, sieht JMeter wie ein Browser aus (oder besser mehrere Browser); JMeter führt jedoch nicht alle von Browsern unterstützten Aktionen durch. Insbesondere JMeter führt das Javascript nicht aus, das in den HTML-Seiten gefunden wird. Die HTML-Seiten werden auch nicht wie ein Browser dargestellt (die Antwort kann als HTML usw. angezeigt werden, aber die Timings sind in keinem Beispiel enthalten, und es wird immer nur ein Beispiel in einem Thread angezeigt).

Also JMeter wird keine JavaScript wie Browser tun würde. Wenn eine relevante HTTP-Anfrage mit dem AJAX-Anruf verknüpft ist (höchstwahrscheinlich gibt es) - können Sie eine zusätzliche HTTP Request verwenden, um diesen Anruf nachzuahmen. Sie können die Anfrage (n) unter Transaction Controller ablegen, um die kumulative Zeit von Haupt- und AJAX-Anfragen zu messen.

Eine weitere Option ist das Senden einer Nachricht direkt an ActiveMQ mit JMeter JMS Publisher, überprüfen Sie Building a JMS Testing Plan - Apache JMeter für weitere Details zur Verwendung von JMeter für MQ-Tests.

+0

Danke für die Hilfe .. – Tarun