Package org.apache.jmeter.functions
Class CSVRead
java.lang.Object
org.apache.jmeter.functions.AbstractFunction
org.apache.jmeter.functions.CSVRead
- All Implemented Interfaces:
Function
The function represented by this class allows data to be read from CSV files.
Syntax is similar to StringFromFile function. The function allows the test to
line-thru the data in the CSV file - one line per each test. E.g. inserting
the following in the test scripts :
${__CSVRead(c:/BOF/abcd.csv,0)} // read (first) line of 'c:/BOF/abcd.csv'
// and return the 1st column (represented by the '0')
${__CSVRead(c:/BOF/abcd.csv,1)} // read (first) line of 'c:/BOF/abcd.csv'
// and return the 2nd column (represented by the '1')
${__CSVRead(c:/BOF/abcd.csv,next())} // Go to next line of 'c:/BOF/abcd.csv'
NOTE: A single instance of each different file is opened and used for all
threads.
To open the same file twice, use the alias function:
__CSVRead(abc.csv,*ONE);
__CSVRead(abc.csv,*TWO);
and later use the references to read from the files: __CSVRead(*ONE,1);
, etc.- Since:
- 1.9
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionexecute
(SampleResult previousResult, Sampler currentSampler) N.B.Return a list of strings briefly describing each parameter your function takes.Return the name of your function.void
setParameters
(Collection<CompoundVariable> parameters) Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)Methods inherited from class org.apache.jmeter.functions.AbstractFunction
addVariableValue, checkMinParameterCount, checkParameterCount, checkParameterCount, execute, getVariables
-
Constructor Details
-
CSVRead
public CSVRead()
-
-
Method Details
-
execute
public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).
JMeter ensures setParameters() happens-before execute(): setParameters is executed in main thread, and worker threads are started after that.- Specified by:
execute
in interfaceFunction
- Specified by:
execute
in classAbstractFunction
- Parameters:
previousResult
- The previousSampleResult
currentSampler
- The currentSampler
- Returns:
- The replacement value, which was generated by the function
- Throws:
InvalidVariableException
- - when the variables for the function call can't be evaluated- See Also:
-
getArgumentDesc
Return a list of strings briefly describing each parameter your function takes. Please use JMeterUtils.getResString(resource_name) to grab a resource string. Otherwise, your help text will be difficult to internationalize. This list is not optional. If you don't wish to write help, you must at least return a List containing the correct number of blank strings, one for each argument.- Returns:
- List with brief descriptions for each parameter the function takes
-
getReferenceKey
Return the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")- Specified by:
getReferenceKey
in interfaceFunction
- Specified by:
getReferenceKey
in classAbstractFunction
- Returns:
- The name of the function
- See Also:
-
setParameters
Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)- Specified by:
setParameters
in interfaceFunction
- Specified by:
setParameters
in classAbstractFunction
- Parameters:
parameters
- The parameters for the function call- Throws:
InvalidVariableException
- - when the variables for the function call can't be evaluated- See Also:
-