Apache JMeter

org.apache.jmeter.functions
Class StringFromFile

java.lang.Object
  extended by org.apache.jmeter.functions.AbstractFunction
      extended by org.apache.jmeter.functions.StringFromFile
All Implemented Interfaces:
Function, TestStateListener

public class StringFromFile
extends AbstractFunction
implements TestStateListener

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:

Because function instances are shared, it does not make sense to use the thread number as part of the file name.

Since:
1.9

Constructor Summary
StringFromFile()
           
 
Method Summary
 String execute(SampleResult previousResult, Sampler currentSampler)
           N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).
 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)
          A collection of the parameters used to configure your function.
 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 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. 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 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
A collection of the parameters used to configure your function. Each parameter is a CompoundVariable and can be resolved by calling the execute() method of the CompoundVariable (which should be done at execution.)

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 TestStateListener
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 TestStateListener
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 TestStateListener
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 TestStateListener
Parameters:
host - name of host
See Also:
StandardJMeterEngine.stopTest()

Apache JMeter

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