Package org.apache.jmeter.extractor
Class XPathExtractor
java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.testelement.AbstractScopedTestElement
org.apache.jmeter.extractor.XPathExtractor
- All Implemented Interfaces:
Serializable
,Cloneable
,Searchable
,PostProcessor
,org.apache.jmeter.testelement.TestElement
public class XPathExtractor
extends AbstractScopedTestElement
implements PostProcessor, Serializable
Extracts text from (X)HTML response using XPath query language
Example XPath queries:
- /html/head/title
- extracts Title from HTML response
- //form[@name='countryForm']//select[@name='country']/option[text()='Czech Republic'])/@value
- extracts value attribute of option element that match text 'Czech Republic' inside of select element with name attribute 'country' inside of form with name attribute 'countryForm'
- //head
- extracts the XML fragment for head node.
- //head/text()
- extracts the text content for head node.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement
org.apache.jmeter.testelement.TestElement.Companion
-
Field Summary
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Should we return fragment as text, rather than text of fragment?int
Return which Match to use.Return which Match to use.boolean
boolean
isQuiet()
boolean
boolean
boolean
void
process()
Do the job - extract value from (X)HTML response using XPath Query.boolean
void
setDefaultValue
(String val) void
setDownloadDTDs
(boolean selected) void
setFragment
(boolean selected) Should we return fragment as text, rather than text of fragment?void
setMatchNumber
(int matchNumber) Set which Match to use.void
setMatchNumber
(String matchNumber) Set which Match to use.void
setNameSpace
(boolean val) void
setQuiet
(boolean val) void
setRefName
(String refName) void
setReportErrors
(boolean val) void
setShowWarnings
(boolean val) void
setTolerant
(boolean val) void
setValidating
(boolean selected) void
setWhitespace
(boolean selected) void
setXPathQuery
(String val) boolean
boolean
Methods inherited from class org.apache.jmeter.testelement.AbstractScopedTestElement
fetchScope, getProps, getSampleList, getSchema, getScopeName, getVariableName, isScopeAll, isScopeChildren, isScopeParent, isScopeVariable, isScopeVariable, setScopeAll, setScopeChildren, setScopeParent, setScopeVariable
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.jmeter.testelement.TestElement
get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set
-
Field Details
-
DEFAULT_VALUE_AS_STRING
-
-
Constructor Details
-
XPathExtractor
public XPathExtractor()
-
-
Method Details
-
process
public void process()Do the job - extract value from (X)HTML response using XPath Query. Return value as variable defined by REFNAME. Returns DEFAULT value if not found.- Specified by:
process
in interfacePostProcessor
-
setXPathQuery
-
getXPathQuery
-
setRefName
-
getRefName
-
setDefaultValue
-
getDefaultValue
-
setTolerant
public void setTolerant(boolean val) -
isTolerant
public boolean isTolerant() -
setNameSpace
public void setNameSpace(boolean val) -
useNameSpace
public boolean useNameSpace() -
setReportErrors
public void setReportErrors(boolean val) -
reportErrors
public boolean reportErrors() -
setShowWarnings
public void setShowWarnings(boolean val) -
showWarnings
public boolean showWarnings() -
setQuiet
public void setQuiet(boolean val) -
isQuiet
public boolean isQuiet() -
getFragment
public boolean getFragment()Should we return fragment as text, rather than text of fragment?- Returns:
- true if we should return fragment rather than text
-
setFragment
public void setFragment(boolean selected) Should we return fragment as text, rather than text of fragment?- Parameters:
selected
- true to return fragment.
-
setWhitespace
public void setWhitespace(boolean selected) -
isWhitespace
public boolean isWhitespace() -
setValidating
public void setValidating(boolean selected) -
isValidating
public boolean isValidating() -
setDownloadDTDs
public void setDownloadDTDs(boolean selected) -
isDownloadDTDs
public boolean isDownloadDTDs() -
setMatchNumber
public void setMatchNumber(int matchNumber) Set which Match to use. This can be any positive number, indicating the exact match to use, or0
, which is interpreted as meaning random.- Parameters:
matchNumber
- The number of the match to be used
-
setMatchNumber
Set which Match to use. This can be any positive number, indicating the exact match to use, or0
, which is interpreted as meaning random.- Parameters:
matchNumber
- The number of the match to be used
-
getMatchNumber
public int getMatchNumber()Return which Match to use. This can be any positive number, indicating the exact match to use, or0
, which is interpreted as meaning random.- Returns:
- matchNumber The number of the match to be used
-
getMatchNumberAsString
Return which Match to use. This can be any positive number, indicating the exact match to use, or0
, which is interpreted as meaning random.- Returns:
- matchNumber The number of the match to be used
-