Yeah! Exactly what I need. Thanks for the simple solution. On Apr 15, 2013 9:22 PM, "Deepak Shetty" <[email protected]> wrote:
> if you want to control when you read the CSV why not use CSVRead function > or StringFromFile ? > > > On Mon, Apr 15, 2013 at 8:42 AM, Shmuel Krakower <[email protected]> > wrote: > > > 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. > > > > > > > > > >
