Guys, thanks for reponses.
Steve, I've got your suggested solution working (single user, loop forever
thread group, stop tread on EOF CSV input file, line for each folder).
Thanks for the help. However, I'd rather have more than one thread all doing
the same action concurrently. So would like to get the ForEach controller to
work. I've tried to explain my reasoning below and also respond to Sebb's
comments.
I'm new to performance testing and am leading a project for our already
developed client server application. I want to build up our experience and
assets in simple stages. Thus I'm trying to do baseline testing first. I
want to run a set of tests that will do one specific action repeatedly for
multiple threads to get consistently reproduceable results.
Rather than run tests that have various actions all happening at the same
time, I want all users doing the same action at the same time as best
possible. I don't want a code change for ActionA to influence the results
for ActionB purely for the fact that the baseline tests always have the two
actions running/hitting the web server at the same time.
I want to use multiple threads to get averages from more samples (I'm
assuming 10 different threads repeating an action 10 times is better than 1
thread repeating the same action 100 times). Even if there is no difference,
I also want to be able to scale up the number of threads for future
investigations into load and capacity, so better to have tests multithreaded
to start with.
An example initial action I'm testing is a browse to a folder containing x
objects of file y size. There'll be lots of permutations of number and size
thus lots of different folder paths to browse to.
Based on the online docs best practice I thought it better to have:
1) As few testplans (jmx files) as possible covering similar tests rather
than have lots of individual testplans. That way jmeter fires up the threads
as few times as possible and then they get on with the different tests.
2) Rather than the same action repeated lots of different times, use a loop
and pass in the unique data e.g. folderpath. Hence the original post. Sebb,
in repsonse to your question, all the threads need to be doing the same
action to the same folder at the same time - I use a synch timer (see
below).
So my plan had been:
TG (10 threads, RU 10, Loop 10)
--Only Once
----Log on
----Test Action
-------Synch Timer (10 threads) (all logged on threads start the action
under test at the same time)
--CSV data Config (has one variable called 'path', example of data in file
'folderA/folderBB,folderC/folderDD')
--For Each Controller (I'm not sure on the input variable prefix? Output
variable is 'browsePath')
----Loop (10)
------Folder Browse (using ${browsepath} I also want to include the variable
in the sampler label so that the results can be grouped by folder name)
----Test Action
------Synch Timer (10 threads) (this way all threads complete one folder
browse before moving onto next)
So to clarify the questions
1) Is my general approach reasonable (I appreciate this can be subjective
and influenced by many factors), so perhaps a better question - is it
fundamentaly flawed?
2) How can I set up input numbered variables that the For Each controller
needs to use. I know all the values I want to use inadvance. Is it as simple
as setting them up as UDVs on the Test Plan itself and avoid the CSV all
together?! Just thought of doing that and will try it in the morning!!
Any help with the above appreciated, especially as it's some of the basic
concepts I'm asking about.
Cheers
--
View this message in context:
http://www.nabble.com/Simple-csv-input-data-iteration---all-threads-using-same-value-tp17101828p17111172.html
Sent from the JMeter - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]