Apache JMeter

## org.apache.jmeter.functions
Class StringFromFile

    java.lang.Object
      org.apache.jmeter.functions.AbstractFunction
          org.apache.jmeter.functions.StringFromFile

All Implemented Interfaces:
  Function, TestListener

    public class StringFromFile

extends AbstractFunction
implements TestListener

StringFromFile Function to read a String from a text file. Parameters: - file name - variable name (optional - defaults to StringFromFile_) Returns: - the next line from the file - or **ERR** if an error occurs - value is also saved in the variable for later re-use. Ensure that different variable names are used for each call to the function Notes: - JMeter instantiates a copy of each function for every reference in a Sampler or elsewhere; each instance will open its own copy of the the file - the file name is resolved at file (re-)open time - the output variable name is resolved every time the function is invoked

Constructor Summary
`StringFromFile()`

Method Summary
`String` `execute(SampleResult previousResult, Sampler currentSampler)` N.B. setParameters() and execute() are called from different threads, so both must be synchronized unless there are no parameters to save
`List<String>` `getArgumentDesc()` Return a list of strings briefly describing each parameter your function takes.
`String` `getReferenceKey()` Return the name of your function.
`void` `setParameters(Collection<CompoundVariable> parameters)` N.B. setParameters() and execute() are called from different threads, so both must be synchronized unless there are no parameters to save
`void` `testEnded()` Called once for all threads after the end of a test.
`void` `testEnded(String host)` Called once for all threads after the end of a test.
`void` `testIterationStart(LoopIterationEvent event)` Each time through a Thread Group's test script, an iteration event is fired for each thread.
`void` `testStarted()` Called just before the start of the test from the main engine thread.
`void` `testStarted(String host)` Called just before the start of the test from the main engine thread.

Methods inherited from class org.apache.jmeter.functions.AbstractFunction
`checkMinParameterCount, checkParameterCount, checkParameterCount, execute, getVariables`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StringFromFile

    public StringFromFile()

Method Detail

### execute

    public String execute(SampleResult previousResult,
                          Sampler currentSampler)
                   throws InvalidVariableException

  N.B. setParameters() and execute() are called from different threads, so both must be synchronized unless there are no parameters to save

  Specified by:
    `execute` in interface `Function`
  Specified by:
    `execute` in class `AbstractFunction`
  Throws:
    `InvalidVariableException`
  See Also:
    `Function.execute(SampleResult, Sampler)`

### setParameters

    public void setParameters(Collection<CompoundVariable> parameters)
                       throws InvalidVariableException

  N.B. setParameters() and execute() are called from different threads, so both must be synchronized unless there are no parameters to save

  Specified by:
    `setParameters` in interface `Function`
  Specified by:
    `setParameters` in class `AbstractFunction`
  Throws:
    `InvalidVariableException`
  See Also:
    `
    Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)`

### getReferenceKey

    public String getReferenceKey()

  Return the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")

  Specified by:
    `getReferenceKey` in interface `Function`
  Specified by:
    `getReferenceKey` in class `AbstractFunction`
  See Also:
    `Function.getReferenceKey()`

### getArgumentDesc

    public List<String> 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.

  Specified by:
    `getArgumentDesc` in interface `Function`

### testStarted

    public void testStarted()

  Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testStarted` in interface `TestListener`
  See Also:
    `StandardJMeterEngine.run()`

### testStarted

    public void testStarted(String host)

  Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testStarted` in interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.run()`

### testEnded

    public void testEnded()

  Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testEnded` in interface `TestListener`
  See Also:
    `StandardJMeterEngine.stopTest()`

### testEnded

    public void testEnded(String host)

  Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

  N.B. testStarted() and testEnded() are called from different threads.

  Specified by:
    `testEnded` in interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.stopTest()`

### testIterationStart

    public void testIterationStart(LoopIterationEvent event)

  Each time through a Thread Group's test script, an iteration event is fired for each thread. This will be after the test elements have been cloned, so in general the instance will not be the same as the ones the start/end methods call.

  Specified by:
    `testIterationStart` in interface `TestListener`

Apache JMeter

Copyright © 1998-2011 Apache Software Foundation. All Rights Reserved.