Quick addendum:  Turns out, I'm able to avoid manually
entering the number of csv lines into the loop
controller by writing a function, using
org.apache.jmeter.functions.StringFromFile as my
guide, to determine how many lines are in the csv
file.

Thanks.

Dan Yuen
--- Dan Yuen <[EMAIL PROTECTED]> wrote:
> Just wanted to send in a message to thank everyone
> for
> their responses (they really helped) and let anyone
> interested know what we decided on doing.
> 
> I've researched the different suggested approaches
> over the last few days to see which would work best
> for us and found that the __CSVRead functions looks
> like it will come in quite handy.
> 
> I'm looking at using a TestPlan that has the
> following
> general layout.
> 
> Test Plan
> |-- Thread Group
> ....|-- A bunch of Listeners
> ....|-- Loop Controller
> ........|-- User Parameters (preprocessor)
> ........|-- HTTP Request
> ............|-- Some Response Assertions
> ........|-- Regular Expression
> Extractor(postprocessor)
> 
> The loop controller is set to cycle through the csv
> file.  The User Parameters create a parameter for
> each
> column of the csv line.  The HTTP Request and
> associated response assertion uses those parameters.
> 
> And the Post Processor doesn't do anything except
> that
> it is a convenient place to call __CSVRead to go to
> the next line.  (Is there a better place that I
> should
> be putting the __CSVRead(file, next) call?)
> 
> I'm happy that this solution did not require any
> modifications to jMeter (though I'll be extending
> the
> Tree View a bit to meet our reporting needs).
> 
> The only thing I'm less than thrilled about is that
> I
> have to tell the loop controller to stop looping by
> manually entering the number of lines in the CSV
> file.
>  It'd be nice if I could figure out a way to have
> the
> loop controller stop looping when the end of the
> file
> had been reached.  
> 
> Thanks, everyone, for all your help.
> 
> Dan Yuen
> 
> --- "BAZLEY, Sebastian"
> <[EMAIL PROTECTED]> wrote:
> > JMeter also has functions and variables, which can
> > be used to parameterise
> > just about anything, including Samplers and
> > Assertions.
> > 
> > If your test cases consist of lots of similar
> > samples and assertions, and
> > the only variation is in the parameters to same,
> > then you can create a
> > generic test plan, and feed it the required values
> > from files at run-time.
> > 
> > We have run tests with up to 1 million different
> > values. Most of the test
> > plans are relatively simple, with only a few
> > samplers. The variable data is
> > held in several external files which we read using
> > the _StringFromFile
> > function, often into a User Parameter form.
> > 
> > JMeter also has functions to get properties, and
> you
> > can set properties on
> > the command line. It is very easy to write a
> generic
> > test script that can be
> > run with any number of threads, and any number of
> > loops, and with any
> > desired throughput and/or wait times.
> > 
> > There is also a BeanShell sampler, which may be
> > useful - that can do
> > whatever java can do.
> > [I'll probably add a BeanShell Assertion element
> in
> > due course.]
> > 
> > Are you mainly performing functional, or
> performance
> > testing?
> > 
> 
> Mostly functional testing.
> 
> > S.
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]
> > Sent: 31 October 2003 01:51
> > To: JMeter Users List
> > Subject: Re: Using csv data as input
> > 
> > 
> > I see two good options for you:
> > 1.  There is a new LogParser Sampler (and now a
> > LogParser Controller soon to
> > be added) 
> > that reads access logs and creates HTTPSamplers on
> > the fly.  The LogParser
> > and Generator 
> > are interfaces you could implement to parse your
> CSV
> > files.  The downside
> > here is that it's not 
> > a great solution for load testing, since the
> parsing
> > is somewhat heavy.  It
> > also doesn't support 
> > making assertions on the fly.
> > 2. JMeter has routines to load .jmx files and
> > convert them into JMeter
> > TestElement classes.  
> > You could implement a new loading mechanism that
> > likewise reads your csv
> > files and creates 
> > TestElements.  To do this, you'd just have to make
> a
> > new action class (like 
> > org.apache.jmeter.gui.action.Load) that does this
> -
> > most of the code exists
> > and you can 
> > copy/extend it, but add your own file parsing. 
> > You'd then also have to add
> > a new menu option 
> > (ie Open CSV, or something).  The downside here is
> > that you'd be digging a
> > little deeper into 
> > the internals of JMeter's GUI system, which has a
> > somewhat steep learning
> > curve.  It could 
> > also result in very high memory usage if you have
> > large csv files that
> > represent many 
> > samplers and assertions.
> > 
> > -Mike
> > 
> > On 30 Oct 2003 at 16:54, Dan Yuen wrote:
> > 
> > > We are considering moving our application
> testing
> > over
> > > to jMeter and are looking at how we would need
> to
> > > modify jMeter to fit our company needs. 
> > Specifically,
> > > we have a test generation tool that produces a
> csv
> > > file which contains, among other things, inputs
> > for
> > > test cases (which I'm thinking would convert
> into
> > > Samplers) and expected outputs (which I'm
> thinking
> > > would get converted into Assertions for those
> > > Samplers).  
> > > 
> > > What would be the best way to convert the csv
> data
> > > into Samplers and Assertions?  Are there certain
> > > classes that can easily be extended so that I
> can
> > read
> > > a csv file and convert each line into a Sampler
> > with
> > > associated Assertions and add them to my Test
> > Plan? 
> > > Or would it be much easier and quicker to just
> > write a
> > > csv to jmx converter?  
> > > 
> > > It seems the latter would be quicker in the
> short
> > run
> > > but would require running the converter as an
> > > intermediate step before we run jMeter.  So,
> > before we
> > > make a decision on which road to take, I'm
> trying
> > to
> > > get my arms around what would be involved with
> 
=== message truncated ===


__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree

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

Reply via email to