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
public class IfController extends GenericController implements Serializable
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:
- Serialized Form
-
-
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 Constructor Description IfController()constructorIfController(String condition)constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetCondition()Condition Accessor - this is gonna be like${count} < 10booleanisDone()This is overriding the parent method.booleanisEvaluateAll()booleanisUseExpression()Samplernext()Determines the next sampler to be processed.voidsetCondition(String condition)Condition Accessor - this is gonna be like${count} < 10voidsetEvaluateAll(boolean b)voidsetUseExpression(boolean selected)voidtriggerEndOfLoop()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 Detail
-
IfController
public IfController()
constructor
-
IfController
public IfController(String condition)
constructor- Parameters:
condition- The condition for this controller
-
-
Method Detail
-
setCondition
public void setCondition(String condition)
Condition Accessor - this is gonna be like${count} < 10- Parameters:
condition- The condition for this controller
-
getCondition
public String 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:
isDonein interfaceController- Overrides:
isDonein classGenericController- Returns:
- boolean
- See Also:
Controller.isDone()
-
next
public Sampler next()
Description copied from class:GenericControllerDetermines 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:
nextin interfaceController- Overrides:
nextin classGenericController- Returns:
- the next sampler or
null - See Also:
Controller.next()
-
triggerEndOfLoop
public void triggerEndOfLoop()
Trigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
triggerEndOfLoopin interfaceController- Overrides:
triggerEndOfLoopin classGenericController
-
isEvaluateAll
public boolean isEvaluateAll()
-
setEvaluateAll
public void setEvaluateAll(boolean b)
-
isUseExpression
public boolean isUseExpression()
-
setUseExpression
public void setUseExpression(boolean selected)
-
-