Class CSVDataSet

All Implemented Interfaces:
Serializable, Cloneable, ConfigElement, LoopIterationListener, NoConfigMerge, Searchable, TestBean, org.apache.jmeter.testelement.TestElement

public class CSVDataSet extends ConfigTestElement implements TestBean, LoopIterationListener, NoConfigMerge
Read lines from a file and split int variables. The iterationStart() method is used to set up each set of values. By default, the same file is shared between all threads (and other thread groups, if they use the same file name). The shareMode can be set to:
  • All threads - default, as described above
  • Current thread group
  • Current thread
  • Identifier - all threads sharing the same identifier
The class uses the FileServer alias mechanism to provide the different share modes. For all threads, the file alias is set to the file name. Otherwise, a suffix is appended to the filename to make it unique within the required context. For current thread group, the thread group identityHashcode is used; for individual threads, the thread hashcode is used as the suffix. Or the user can provide their own suffix, in which case the file is shared between all threads with the same suffix.
See Also:
  • Constructor Details

    • CSVDataSet

      public CSVDataSet()
  • Method Details

    • setProperty

      public void setProperty(JMeterProperty property)
      Override the setProperty method in order to convert the original String shareMode property. This used the locale-dependent display value, so caused problems when the language was changed. If the "shareMode" value matches a resource value then it is converted into the resource key. To reduce the need to look up resources, we only attempt to convert values with spaces in them, as these are almost certainly not variables (and they are definitely not resource keys).
      Specified by:
      setProperty in interface org.apache.jmeter.testelement.TestElement
      Overrides:
      setProperty in class AbstractTestElement
    • iterationStart

      public void iterationStart(LoopIterationEvent iterEvent)
      Description copied from interface: LoopIterationListener
      Called when a loop iteration is about to start.
      Specified by:
      iterationStart in interface LoopIterationListener
      Parameters:
      iterEvent - the event
    • getFilename

      public String getFilename()
      Returns:
      Returns the filename.
    • setFilename

      public void setFilename(String filename)
      Parameters:
      filename - The filename to set.
    • getFileEncoding

      public String getFileEncoding()
      Returns:
      Returns the file encoding.
    • setFileEncoding

      public void setFileEncoding(String fileEncoding)
      Parameters:
      fileEncoding - The fileEncoding to set.
    • getVariableNames

      public String getVariableNames()
      Returns:
      Returns the variableNames.
    • setVariableNames

      public void setVariableNames(String variableNames)
      Parameters:
      variableNames - The variableNames to set.
    • getDelimiter

      public String getDelimiter()
    • setDelimiter

      public void setDelimiter(String delimiter)
    • getQuotedData

      public boolean getQuotedData()
    • setQuotedData

      public void setQuotedData(boolean quoted)
    • getRecycle

      public boolean getRecycle()
    • setRecycle

      public void setRecycle(boolean recycle)
    • getStopThread

      public boolean getStopThread()
    • setStopThread

      public void setStopThread(boolean value)
    • getShareMode

      public String getShareMode()
    • setShareMode

      public void setShareMode(String value)
    • isIgnoreFirstLine

      public boolean isIgnoreFirstLine()
      Returns:
      the ignoreFirstLine
    • setIgnoreFirstLine

      public void setIgnoreFirstLine(boolean ignoreFirstLine)
      Parameters:
      ignoreFirstLine - the ignoreFirstLine to set