jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From João Tiago Ferreira <joao.tiago.ferre...@novabase.pt>
Subject RE: JMS Assertion??
Date Mon, 21 Jun 2010 11:07:48 GMT
Hi

My requirements are very similar to the JMS Subscriber, but for Queues. I don't need to subscribe
many messages, just one for sampler, and since they contain xml it is very easy to assert
with XPath. 

But if you could send me the source, would be nice, I could get some ideas. Btw, I pretend
to commit my alterations in jmeter project.

Thanks in advance

João Ferreira

> -----Original Message-----
> From: Noel O'Brien [mailto:nobrien@newbay.com]
> Sent: segunda-feira, 21 de Junho de 2010 12:00
> To: JMeter Users List
> Subject: Re: JMS Assertion??
> 
> Hey,
> 
> I've implemented something for pulling (map) messages off a queue and
> putting them into a comma separated name=value string so that I could
> run response assertions on it. If this is useful for you I could send
> you the source and/or JAR file to put into lib/ext
> 
> Regards,
> Noel
> 
> ----- "João Tiago Ferreira" <joao.tiago.ferreira@novabase.pt> wrote:
> > Hi
> >
> > The missing feature of Jmeter is the QueueReceiver without a
> QueueSender. My application under test has the same behavior of yours,
> but without the HTTP.
> >
> > I invoke a “method” in my application via JMS. This method will
> invoke other “method” in other system via JMS too. I would like to
> assert this message is sent to the other “system”.
> >
> > Currently I am implementing a JMS receiver similar to the JMS
> subscriber.
> >
> > Best regards
> >
> > João Ferreira
> >
> > From: Noel O'Brien [mailto:nobrien@newbay.com]
> > Sent: segunda-feira, 21 de Junho de 2010 11:25
> > To: João Tiago Ferreira
> > Cc: JMeter Users List
> > Subject: Re: JMS Assertion??
> >
> > 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" <joao.tiago.ferreira@novabase.pt> 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 [sebbaz@gmail.com]
> > > 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
> <joao.tiago.ferreira@novabase.pt> 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 <nobrien@newbay.com> wrote:
> > > > > > On Monday 16 February 2009 16:35:56 sebb wrote:
> > > > > > > On 16/02/2009, Noel O'Brien <nobrien@newbay.com>
wrote:
> > > > > > > > On Monday 16 February 2009 15:42:46 sebb wrote:
> > > > > > > > > On 16/02/2009, Noel O'Brien <nobrien@newbay.com>
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.initConnectio
> n(OnMessageSubscriber.java:119)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.client.OnMessageSubscriber.<init>(OnMess
> ageSubscriber.java:79)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.initListenerCl
> ient(SubscriberSampler.java:105)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sampleWithList
> ener(SubscriberSampler.java:162)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(Subscri
> berSampler.java:150)
> > > > at
> > > >
> org.apache.jmeter.protocol.jms.sampler.SubscriberSampler.sample(Subscri
> berSampler.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:
> > > > > > > > > > jmeter-user-unsubscribe@jakarta.apache.org
For
> additional
> > > > > > > > > > commands, e-mail: jmeter-user-help@jakarta.apache.org
> > > > > > > > >
> > > > > > > > > -------------------------------------------------------
> ----------
> > > > > > > > >---- To unsubscribe, e-mail:
> > > > > > > > > jmeter-user-unsubscribe@jakarta.apache.org For
> additional
> > > > > > > > > commands, e-mail: jmeter-user-help@jakarta.apache.org
> > > > > > >
> > > > > > > -----------------------------------------------------------
> ----------
> > > > > > > To unsubscribe, e-mail: jmeter-user-
> unsubscribe@jakarta.apache.org
> > > > > > > For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org
> > > >
> > > >
> > > >
> > > > -----------------------------------------------------------------
> ----
> > > > To unsubscribe, e-mail: jmeter-user-
> unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----------------------------------------------------------------
> ----
> > > > To unsubscribe, e-mail: jmeter-user-
> unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org
> > > >
> > > >
> > >
> > > -------------------------------------------------------------------
> --
> > > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: jmeter-user-
> help@jakarta.apache.org
> > >
> > >
> > >
> > >
> >
Mime
View raw message