Hi Mark,
      This is something I've been wanting too.  The way I'm thinking about 
it, it's like an Assertion - the user wants to be able to make assertions 
about the results that are returned from the server.

You mention URLSample, which suggests you are using JMeter 1.5x or earlier?  
If so, you should switch to 1.6 for the purposes of doing new development.  
The design of the application is completely new in 1.6, and if you work on 
1.5, it won't be useful in 1.6.

For 1.6, I think one could allow a user to add an Assert object to a 
UrlConfig object in the test tree, and then, when the SampleEvent is 
generated, the Assert object and the results are added to the SampleResults 
object.  Special listeners can be created to report the results of the 
assertions (I'm not sure GraphListener is well suited for it).

I think Assertions are an important enough element that they'll require 
adjustments to the various interfaces that currently exist (such as, to allow 
Assert objects to be attached to ConfigElements and maybe Controllers).

Assertions are one of the Big 3 things I want JMeter ultimately to do:
1. Proxy server to record browser actions directly as JMeter XML test scripts
2. Dynamic request generation, reacting to results from previous requests (to 
enable spidering, and useful testing of dynamic sites).
3. Assertions for user in functional testing

Currently, I have code that works at a very rough level for #1, and I have 
written an HTML parser that can extract anchor tags and generate URL's from 
them and find one that matches certain regular expression input.  I've not 
started working on Assertions yet.

I hope I haven't scared you off - I'd love help!  But, I think the task will 
require a good understanding of how JMeter 1.6 works, and some thought about 
how best to modify it's current design to help the cause.

If you're still interested, I'd be glad to help point you in the right 
directions.  Just let me know.

-Mike 

On Thursday 14 June 2001 20:07, Mark Church wrote:
> Mike,
>
> I've been thinking about possibly making modifications to JMeter to allow a
> URLSample to perform a series of tests on the response received.  My idea
> would be to allow users to add a series of Tests to a URLSample.  After
> recording the response time the URLSample would run through it's lists of
> tests.  It would report the results of these tests to the Listener's via a
> boolean in the SampleResult class.  The existing Listeners should continue
> to work but I would think we would also want to modify some of the existing
> Listners (Graph Results and File Reporter) to report this information.
>
> What do you think.  Would this be enough?
>
> Mark Church
> Applications Developer
> accessIndiana
> http://www.state.in.us
>
> Mike Stover wrote:
> > My answers are interspersed below:
> >
> > On Friday 08 June 2001 17:56, you wrote:
> > > Hi,
> > > I am writing this email to you directly instead of sending it to the
> > > dev mailing list. Hope that is ok.
> >
> > Sure, I hope you don't mind that I'm sending my answers to the list. 
> > There may be others out there that are interested.
> >
> > > First of all, thanks for working on an excellent product that is
> > > turning out to be extremely useful for a number of us out there. After
> > > working with a number of different commercially available products I
> > > feel that this initiative was necessary and would be glad to contribute
> > > in any way I can.
> > >
> > > I am using JMeter to load test a number of different web based apps
> > > that we are working on here. There are a few enhancements that I am
> > > working on and it would be good to know if these
> > > 1) have already been implemented (and somehow I could not get to them),
> > > 2) are being implemented by you/ other JMeter commiters,
> > > 3) or these would be found useful to be included in future releases and
> > > I can go ahead and post them (whenever ready) to the dev list.
> > >
> > > Here are the enhancements that I am working on.
> > > a) RequestDataExtractor :
> > > Description: This class sits inside the Servlet and instantiates itself
> > > on the basis of a property file or Servlet parameters. It captures the
> > > request data and stores it as URLConfig data. We can use all the data
> > > generated by this class to create Test Plans and then test the Servlet.
> >
> > Something I've also been planning to write.  It would probably be nice to
> > include some such tool with JMeter - a library class that took a
> > ServletRequest as a parameter which output XML for test samples.
> >
> > Alternatively, it would be even better to write a small proxy server that
> > recorded the actions from the browser side.  This has been talked about,
> > but I dont know if anyone is working on it.  I also don't know how hard
> > it would be to write a proxy server (I'm betting there's several out
> > there that just need to be found).  Anyone know more?
> >
> > > b) Saving of Timers, Listeners etc.
> > > Although I found reference to a number of emails stating that this
> > > works, I have not found any code for this, nor could I make this work.
> > > Any ideas?
> >
> > The XML saving framework is something I wrote, and I suspect it's a
> > fairly unusual design, so I'm not surprised you had some trouble. 
> > However, I can get Timers and Listeners saved with less than an hour's
> > work, so I will do that and let you know.
> >
> > > c) Adding Log4J statements for debugging.
> > > I am not sure whether JMeter would benefit from it in terms of
> > > performance but my personal opinion is that debugging primitives make
> > > products better both during development and while fixing bugs. This
> > > does add an additional dependency (of the Log4J jar files) on JMeter.
> >
> > I could go along with that.  I don't mind the extra dependency since it
> > is open-source, and it's a minimal amount of coding to get that working
> > (and actually, I already have such code from another project).  So, give
> > me about a week on that one.
> >
> > > d) Adding parameters to Sampler. Alternatively, I am also looking into
> > > creating a URLSampler and URLSampleResult. The Filer could handle the
> > > URL results to parse the parameters sent over to the Servlet.
> > >
> > > In my particular case, we have just one Servlet for one application(and
> > > I assume that this would be the case in most places). This Servlet
> > > redirects requests to appropriate classes based on keys stored in the
> > > request. We want to measure the performance against each key and hence
> > > want the parameters of the request stored in the Filer. Would you
> > > consider this a feature that more users of JMeter would like to use?
> >
> > The whole area of sample result data and listeners is one where JMeter
> > needs a lot of expansion.  Anyone out there who writes themselves a new
> > listener - we'd appreciate it if you donated it to the JMeter project. 
> > To help with that, I would be willing to put as much information into the
> > SampleResult object as people wanted.  Just send me specifics about the
> > data you want in there.  Does that answer your question?
> >
> > Personally, I have an eye on making listeners that perform assertions -
> > to check the correctness of the responses, rather than just recording
> > timing info.  To help, I've added the ORO jar files to JMeter, as I
> > imagine regular expressions will be needed for that.  I've also got
> > another use in mind for reg exp's - dynamic input parameters.
> >
> > > e)Based on d) above, create Filers that can generate/populate data
> > > corresponding to Excel spreadsheets / Custom Listeners. I am still
> > > looking into this.
> >
> > I would need more explanation about this.  Are you talking about using a
> > csv type file format for test scripting?
> >
> > > I would appreciate you comments.
> > >
> > > Thanks
> > > Tushar Bhatia
> >
> > --
> > Mike Stover
> > [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]

-- 
Mike Stover
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to