Package org.apache.jmeter.control
Class IfController
java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.control.GenericController
org.apache.jmeter.control.IfController
- All Implemented Interfaces:
Serializable
,Cloneable
,Controller
,Searchable
,TestElement
,TestCompilerHelper
This is a Conditional Controller; it will execute the set of statements
(samplers/controllers, etc) while the 'condition' is true.
In a programming world - this is equivalent of :
if (condition) { statements .... }In JMeter you may have :
Thread-Group (set to loop a number of times or indefinitely, ... Samplers ... (e.g. Counter ) ... Other Controllers .... ... IfController ( condition set to something like - ${counter} < 10) ... statements to perform if condition is true ... ... Other Controllers /Samplers }
- See Also:
-
Field Summary
Fields inherited from class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCondition Accessor - this is gonna be like${count} < 10
boolean
isDone()
This is overriding the parent method.boolean
boolean
next()
Determines the next sampler to be processed.void
setCondition
(String condition) Condition Accessor - this is gonna be like${count} < 10
void
setEvaluateAll
(boolean b) void
setUseExpression
(boolean selected) void
Trigger end of loop condition on controller (used by Start Next Loop feature)Methods inherited from class org.apache.jmeter.control.GenericController
addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isFirst, nextIsAController, nextIsASampler, nextIsNull, readResolve, reInitialize, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirst
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, 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
canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
-
Constructor Details
-
IfController
public IfController()constructor -
IfController
constructor- Parameters:
condition
- The condition for this controller
-
-
Method Details
-
setCondition
Condition Accessor - this is gonna be like${count} < 10
- Parameters:
condition
- The condition for this controller
-
getCondition
Condition Accessor - this is gonna be like${count} < 10
- Returns:
- the condition associated with this controller
-
isDone
public boolean isDone()This is overriding the parent method. IsDone indicates whether the termination condition is reached. I.e. if the condition evaluates to False - then isDone() returns TRUE- Specified by:
isDone
in interfaceController
- Overrides:
isDone
in classGenericController
- Returns:
- boolean
- See Also:
-
next
Description copied from class:GenericController
Determines the next sampler to be processed.
If
GenericController.isDone()
istrue
, returns null.Gets the list element using current pointer. If this is
null
, callsGenericController.nextIsNull()
.If the list element is a
Sampler
, callsGenericController.nextIsASampler(Sampler)
, otherwise callsGenericController.nextIsAController(Controller)
If any of the called methods throws
NextIsNullException
, returnsnull
, otherwise the value obtained above is returned.- Specified by:
next
in interfaceController
- Overrides:
next
in classGenericController
- Returns:
- the next sampler or
null
- See Also:
-
triggerEndOfLoop
public void triggerEndOfLoop()Trigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
triggerEndOfLoop
in interfaceController
- Overrides:
triggerEndOfLoop
in classGenericController
-
isEvaluateAll
public boolean isEvaluateAll() -
setEvaluateAll
public void setEvaluateAll(boolean b) -
isUseExpression
public boolean isUseExpression() -
setUseExpression
public void setUseExpression(boolean selected)
-