Apache JMeter

## org.apache.jmeter.functions
Class XPath

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

All Implemented Interfaces:
  Function

    public class XPath

extends AbstractFunction

The function represented by this class allows data to be read from XML files. Syntax is similar to the CVSRead function. The function allows the test to line-thru the nodes in the XML file - one node per each test. E.g. inserting the following in the test scripts : ${_XPath(c:/BOF/abcd.xml,/xpath/)} // match the (first) node ${_XPath(c:/BOF/abcd.xml,/xpath/)} // Go to next match of '/xpath/' expression NOTE: A single instance of each different file/expression combination is opened and used for all threads.

Constructor Summary
`XPath()`

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

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

### XPath

    public XPath()

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)`

### 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.

### 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()`

### 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)`

Apache JMeter

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