If the number of times you will use these data is already known you should
rearrange your csv to contain all sequenced data in the same line.

Example: suppose your csv file contains the data below
bob
fred
mark
tina

you could reformat it to

bob,fred,mark,tina

and use "name1,name2,name3,name4" as column names on the CSV Dataset Config

this way you could compose your variable name using __count function and
iterate within the sequence.


2013/4/15 Shmuel Krakower <[email protected]>

> Thanks for the response.
> I'd guess I can give it a try in a bit different way.
>
> The only problem is that in my case I need ten different values out of the
> file with each sample (I am sending 10 different user IDs to get their data
> with specific API call).
> The cleanest solution is to add another option to the CSV Dataset Config
> Element, so it will support such case.
> Adding another config option like: Refresh value on: Every reference, Every
> iteration.
>
> Another option I have in mind is if the CSV config create an array of all
> items in CSV file, I can randomly generate the item I wanna get out of the
> array of items. Something similar to the way the regex extractor can create
> arrays.
>
> Shmuel Krakower.
> www.Beatsoo.org - re-use your jmeter scripts for application performance
> monitoring from worldwide locations for free.
>
>
> On Mon, Apr 15, 2013 at 6:00 PM, Flavio Cysne <[email protected]>
> wrote:
>
> > AFAIK, there isn't a method to do a "readNext" on the CSV file.
> >
> > Maybe using a BeanShell Post-Processor to simulate part of
> > the iterationStart method in CSVDataSet class is a way to solve it.
> >
> >
> > Code extracted from iterationStart method that is relevant to the
> question:
> >
> > 103        FileServer server = FileServer.getFileServer();
> > ...
> > 113            String _fileName = getFilename();
> > 114            String mode = getShareMode();
> > 115            int modeInt = CSVDataSetBeanInfo.getShareModeAsInt(mode);
> > 116            switch(modeInt){
> > 117                case CSVDataSetBeanInfo.SHARE_ALL:
> > 118                    alias = _fileName;
> > 119                    break;
> > 120                case CSVDataSetBeanInfo.SHARE_GROUP:
> > 121                    alias =
> > _fileName+"@"+System.identityHashCode(context.getThreadGroup());
> > 122                    break;
> > 123                case CSVDataSetBeanInfo.SHARE_THREAD:
> > 124                    alias =
> > _fileName+"@"+System.identityHashCode(context.getThread());
> > 125                    break;
> > 126                default:
> > 127                    alias = _fileName+"@"+mode; // user-specified key
> > 128                    break;
> > 129            }
> > ...
> > 149               if (getQuotedData()) {
> > 150                lineValues = server.getParsedLine(alias, recycle,
> > firstLineIsNames, delim.charAt(0));
> > 151            } else {
> > 152                String line = server.readLine(alias, recycle,
> > firstLineIsNames);
> > 153                lineValues = JOrphanUtils.split(line, delim, false);
> > 154            }
> >
> >
> > With some aspects already known from CSV Dataset Config you could
> restrict
> > the code executed in BeanShell to a few lines.
> >
> >
> >
> >
> > 2013/4/15 Shmuel Krakower <[email protected]>
> >
> > > Hi all,
> > > The normal behavior of CSV dataset is to give us the next value with
> each
> > > iteration on the local thread. I.e. single thread test will get new
> value
> > > as new iteration begins.
> > >
> > > I have a need that with each time I reference the variable from the CSV
> > > config element, I'll get the next value.
> > > Maybe that's something silly easy, but I cannot find how to do that.
> > >
> > > Best,
> > >
> > > Shmuel Krakower.
> > > www.Beatsoo.org - re-use your jmeter scripts for application
> performance
> > > monitoring from worldwide locations for free.
> > >
> >
>

Reply via email to