Class RandomFromMultipleVars

java.lang.Object
org.apache.jmeter.functions.AbstractFunction
org.apache.jmeter.functions.RandomFromMultipleVars
All Implemented Interfaces:
Function

@AutoService(Function.class) public class RandomFromMultipleVars extends AbstractFunction
Provides a RandomFromMultipleVars function which returns a random element from a multi valued extracted variable. Those kind of variables are extracted by: - Regular Expression extractor - JSON extractor - CSS Selector extractor - XPath Extractor
Since:
3.1
  • Constructor Details

    • RandomFromMultipleVars

      public RandomFromMultipleVars()
      No-arg constructor.
  • 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 interface Function
      Specified by:
      execute in class AbstractFunction
      Parameters:
      previousResult - The previous SampleResult
      currentSampler - The current Sampler
      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:
    • setParameters

      public void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException
      Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)
      Specified by:
      setParameters in interface Function
      Specified by:
      setParameters in class AbstractFunction
      Parameters:
      parameters - The parameters for the function call
      Throws:
      InvalidVariableException - - when the variables for the function call can't be evaluated
      See Also:
    • 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
      Returns:
      The name of the function
      See Also:
    • 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.
      Returns:
      List with brief descriptions for each parameter the function takes