Hi, I didn't write this assertion in the end. Instead I used a transaction controller to wrap a HTTP Sampler and a JMS Sampler and user response assertions on both sampler.
Also, please keep all JMeter communication on the mailing list ;) Regards, Noel ----- "João Tiago Ferreira" <[email protected]> wrote: > Hi > > I am going to implement these features. I would like to know if you > implemented it or started and if I could use them. > > Best regards > > João Ferreira > ________________________________________ > De: sebb [[email protected]] > Enviado: sábado, 19 de Junho de 2010 17:00 > Para: JMeter Users List > Assunto: Re: JMS Assertion?? > > No. > > Patches welcome! > (via Bugzilla please) > > On 18/06/2010, João Tiago Ferreira <[email protected]> wrote: > > Hi > > > > I was interested in such a feature. It was implemented? > > > > Best regards > > > > João Ferreira > > > > > > On Monday 16 February 2009 17:02:32 sebb wrote: > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote: > > > > On Monday 16 February 2009 16:35:56 sebb wrote: > > > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote: > > > > > > On Monday 16 February 2009 15:42:46 sebb wrote: > > > > > > > On 16/02/2009, Noel O'Brien <[email protected]> wrote: > > > > > > > > Hi All, > > > > > > > > > > > > > > > > The web application I'm testing uses JMS queues for > > > > > > > > communicating externally when certain events occur. The JMS > > > > > > > > point to point sampler in JMeter only provides for Request and > > > > > > > > Request/Response tests, however almost all of the messaging I > > > > > > > > will be testing will be driven by a HTTP request, i.e. make a > > > > > > > > HTTP request and there should be a corresponding message on a > > > > > > > > JMS queue. > > > > > > > > > > > > > > > > What is the best way to (at least) functionally test this? I > > > > > > > > was thinking of writing a JMS Assertion that I could add to the > > > > > > > > HTTP Request sampler, does that sound reasonable? The JMS > > > > > > > > message occurs as a result of the HTTP request being made so to > > > > > > > > me it makes sense for it to be an assertion. > > > > > > > > > > > > > > Is the JMS message sent before the HTTP response is returned? Can > > > > > > > one guarantee this? > > > > > > > I thought JMS was asynchronous. > > > > > > > > > > > > JMS is indeed asynchronous. The HTTP response will always return > > > > > > first, and the logic that puts the message on the queue is run in a > > > > > > background thread which has a default pause interval or 30 seconds. > > > > > > So there would be a maximum 30 second delay between the http > > > > > > request > > > > > > completing and the message appearing on the queue > > > > > > > > > > > > > I would expect the HTTP Response Assertion to be used for > > > > > > > checking that the HTTP response is OK, i.e. the page contains > > > > > > > "message sent OK" or whatever. > > > > > > > > > > > > > > > Is there any other way of having a "Response" only JMS > > > > > > > > sampler? > > > > > > > > > > > > > > I've never used JMS, but isn't that what JMS Subscriber does? > > > > > > > > > > > > We are not using topic/subscriber model for JMS, but queues (FIFO). > > > > > > Will the JMS Subscriber sampler work with queues? > > > > > > > > > > No idea, sorry. > > > > > > > > > > > > i.e what does the intended JMS recipient do? > > > > > > > > > > > > The intended JMS recipient parses the message and does further > > > > > > processing. In our example, it's an SMS gateway, but is outside the > > > > > > scope of our app, so I do not need to test it. I do need to test > > > > > > that the correct messages are coming off the queue (in quantity and > > > > > > content) and will need to performance test it in future > > > > > > > > > > I meant - what JMS actions does the recipient do to acquire the > > > > > message, not what it does with the message once received. > > > > > > > > I have no idea how the SMS gateway interacts with the queue, but as > > > > it's > > > > written in Java I assume it would use the onMessage() function. > > > > > > Presumably it will have to do something first in order to use that > > > function. > > > > > > > I will investigate further the JMS Subscriber sampler and report my > > > > findings. > > > > > > Thanks. > > > > > > If it turns out that there is a missing aspect of JMS that JMeter > > > could implement, then we can see about adding it for a future release. > > > > I tried using a JMS Subscriber sampler to take some messages off a queue, > > but > > the following exception happened in jmeter.log: > > > > 2009/02/16 17:04:20 ERROR - jmeter.threads.JMeterThread: > > java.lang.ClassCastException: com.swiftmq.jms.QueueImpl cannot be cast to > > javax.jms.Topic > > at > > org.apache.jmeter.protocol.jms.client.InitialContextFactory.lookupTopic(InitialContextFactory.java:80) > > > > at > > org.apache.jmeter.protocol.jms.client.OnMessageSubscriber.initConnection(OnMessageSubscriber.java:119) > > > > at > > org.apache.jmeter.protocol.jms.client.OnMessageSubscriber.<init>(OnMessageSubscriber.java:79) > > > > at > > org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.initListenerClient(SubscriberSampler.java:105) > > > > at > > org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sampleWithListener(SubscriberSampler.java:162) > > > > at > > org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(SubscriberSampler.java:150) > > > > at > > org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(SubscriberSampler.java:137) > > > > at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:290) > > at java.lang.Thread.run(Thread.java:619) > > > > It looks like the sampler is trying to get a reference to a topic but the > > instance hosted by SwiftMQ is a queue, so no dice. > > > > > If none of the existing JMS samplers do what you want, then some code > > > will have to be written in order to solve your problem - whether as an > > > Assertion or a Sampler. > > > > I'm going to extend the existing JMS sampler to work in Response mode. I'm > > interested in contributing back to the project too :) > > > > I've already modified it to work with MapMessage as opposed to just > > TextMessage types. > > > > > The BeanShell elements may be useful for prototyping. > > > > Thanks for the tip :) > > > > Noel > > > > > > Thanks for your help, > > > > > > > > Noel > > > > > > > > > > Regards, > > > > > > > > > > > > Noel > > > > > > > > > > > > > > Regards, > > > > > > > > Noel > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------- > > > > > > > >----- - To unsubscribe, e-mail: > > > > > > > > [email protected] For additional > > > > > > > > commands, e-mail: [email protected] > > > > > > > > > > > > > > ----------------------------------------------------------------- > > > > > > >---- To unsubscribe, e-mail: > > > > > > > [email protected] For additional > > > > > > > commands, e-mail: [email protected] > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: [email protected] > > > > > For additional commands, e-mail: [email protected] > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > >

