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? 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 > extending jMeter to use the csv file directly. > > Can you help? If so, thanks for any advice/direction > you can give. > > Dan Yuen > > __________________________________ > Do you Yahoo!? > Exclusive Video Premiere - Britney Spears > http://launch.yahoo.com/promos/britneyspears/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- Michael Stover [EMAIL PROTECTED] Yahoo IM: mstover_ya ICQ: 152975688 AIM: mstover777 --------------------------------------------------------------------- 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]