Class DslBoundaryExtractor
- java.lang.Object
-
- us.abstracta.jmeter.javadsl.core.testelements.BaseTestElement
-
- us.abstracta.jmeter.javadsl.core.testelements.DslScopedTestElement<T>
-
- us.abstracta.jmeter.javadsl.core.postprocessors.DslVariableExtractor<DslBoundaryExtractor>
-
- us.abstracta.jmeter.javadsl.core.postprocessors.DslBoundaryExtractor
-
- All Implemented Interfaces:
DslTestElement,DslTestPlan.TestPlanChild,DslPostProcessor,BaseSampler.SamplerChild,MultiLevelTestElement,BaseThreadGroup.ThreadGroupChild
public class DslBoundaryExtractor extends DslVariableExtractor<DslBoundaryExtractor>
Provides simple means for extracting into a variable a part of a request or response using just left and right boundaries surrounding the desired text.By default, the extractor is configured to extract from the main sample (does not include sub samples) response body the first found match. If no match is found, then the variable will not be created or modified.
- Since:
- 0.28
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDslBoundaryExtractor.CodeBuilderstatic classDslBoundaryExtractor.TargetFieldUsed to specify the field the extractor will apply to.-
Nested classes/interfaces inherited from class us.abstracta.jmeter.javadsl.core.testelements.DslScopedTestElement
DslScopedTestElement.Scope, DslScopedTestElement.ScopedTestElementCallBuilder<T extends org.apache.jmeter.testelement.TestElement>
-
-
Field Summary
Fields Modifier and Type Field Description protected DslBoundaryExtractor.TargetFieldfieldToCheckprotected StringleftBoundaryprotected StringrightBoundary-
Fields inherited from class us.abstracta.jmeter.javadsl.core.postprocessors.DslVariableExtractor
defaultValue, matchNumber, varName
-
Fields inherited from class us.abstracta.jmeter.javadsl.core.testelements.DslScopedTestElement
scope, scopeVariable
-
Fields inherited from class us.abstracta.jmeter.javadsl.core.testelements.BaseTestElement
guiClass, name
-
-
Constructor Summary
Constructors Constructor Description DslBoundaryExtractor(String varName, String leftBoundary, String rightBoundary)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.jmeter.testelement.TestElementbuildTestElement()DslBoundaryExtractordefaultValue(String defaultValue)Sets the default value to be stored in the JMeter variable when no match is found.DslBoundaryExtractorfieldToCheck(DslBoundaryExtractor.TargetField fieldToCheck)Allows specifying what part of request or response to apply the extractor to.DslBoundaryExtractormatchNumber(int matchNumber)Sets the match number to be extracted.-
Methods inherited from class us.abstracta.jmeter.javadsl.core.testelements.DslScopedTestElement
scope, scopeVariable, setScopeTo
-
Methods inherited from class us.abstracta.jmeter.javadsl.core.testelements.BaseTestElement
buildConfiguredTestElement, buildTestElementGui, buildTreeUnder, configureTestElement, durationToSeconds, loadBeanProperties, showAndWaitFrameWith, showFrameWith, showInGui, showTestElementGui
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface us.abstracta.jmeter.javadsl.core.DslTestElement
buildTreeUnder, showInGui
-
-
-
-
Field Detail
-
leftBoundary
protected String leftBoundary
-
rightBoundary
protected String rightBoundary
-
fieldToCheck
protected DslBoundaryExtractor.TargetField fieldToCheck
-
-
Method Detail
-
matchNumber
public DslBoundaryExtractor matchNumber(int matchNumber)
Sets the match number to be extracted.For example, if a response looks like this:
and you useuser=test&user=tester&user=and&as left and right boundaries, first match (1) would extracttestand second match (2) would extracttester.When not specified, the first match will be used. When 0 is specified, a random match will be used. When negative, all the matches are extracted to variables with name
<variableName>_<matchNumber>, the number of matches is stored in<variableName>_matchNr, and default value is assigned to<variableName>.- Parameters:
matchNumber- specifies the match number to use.- Returns:
- the extractor for further configuration or usage.
-
defaultValue
public DslBoundaryExtractor defaultValue(String defaultValue)
Sets the default value to be stored in the JMeter variable when no match is found.When match number is negative then the value is always assigned to the variable name.
A common pattern is to specify this value to a known value (e.g.: <VAR>_EXTRACTION_FAILURE) and then add some assertion on the variable to mark request as failure when the match doesn't work.
When not specified then the variable will not be set if no match is found.
- Parameters:
defaultValue- specifies the default value to be used.- Returns:
- the extractor for further configuration or usage.
-
fieldToCheck
public DslBoundaryExtractor fieldToCheck(DslBoundaryExtractor.TargetField fieldToCheck)
Allows specifying what part of request or response to apply the extractor to.When not specified then the extractor will be applied to the response body.
- Parameters:
fieldToCheck- field to apply the extractor to.- Returns:
- the extractor for further configuration or usage.
- See Also:
DslBoundaryExtractor.TargetField
-
buildTestElement
protected org.apache.jmeter.testelement.TestElement buildTestElement()
- Specified by:
buildTestElementin classBaseTestElement
-
-