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,- org.apache.jmeter.testelement.TestElement,- ThreadListener,- 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:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElementorg.apache.jmeter.testelement.TestElement.Companion
- 
Field SummaryFields inherited from class org.apache.jmeter.control.GenericControllercurrent, subControllersAndSamplersFields inherited from interface org.apache.jmeter.testelement.TestElementCOMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionCondition Accessor - this is gonna be like${count} < 10org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends IfController,? extends org.apache.jmeter.control.IfControllerSchema> getProps()org.apache.jmeter.control.IfControllerSchemabooleanisDone()Indicates whether the Controller is done delivering Samplers for the rest of the test.booleanbooleannext()Determines the next sampler to be processed.voidsetCondition(String condition) Condition Accessor - this is gonna be like${count} < 10voidsetEvaluateAll(boolean b) voidsetUseExpression(boolean selected) voidCalled for each thread after all samples have been processed.voidCalled for each thread before starting sampling.voidTrigger end of loop condition on controller (used by Start Next Loop feature)Methods inherited from class org.apache.jmeter.control.GenericControlleraddIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isFirst, nextIsAController, nextIsASampler, nextIsNull, readResolve, reInitialize, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirstMethods inherited from class org.apache.jmeter.testelement.AbstractTestElementaddPropertiesValues, addProperty, addProperty, 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, traversePropertyMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jmeter.testelement.TestElementcanRemove, clear, clearTestElementChildren, clone, get, get, get, get, get, get, get, get, get, getComment, getName, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getPropertyOrNull, getString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removed, removeProperty, removeProperty, set, set, set, set, set, set, set, set, set, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
- 
Constructor Details- 
IfControllerpublic IfController()constructor
- 
IfControllerconstructor- Parameters:
- condition- The condition for this controller
 
 
- 
- 
Method Details- 
getSchemapublic org.apache.jmeter.control.IfControllerSchema getSchema()- Specified by:
- getSchemain interface- org.apache.jmeter.testelement.TestElement
- Overrides:
- getSchemain class- GenericController
 
- 
getPropspublic org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends IfController,? extends org.apache.jmeter.control.IfControllerSchema> getProps()- Specified by:
- getPropsin interface- org.apache.jmeter.testelement.TestElement
- Overrides:
- getPropsin class- GenericController
 
- 
setConditionCondition Accessor - this is gonna be like${count} < 10- Parameters:
- condition- The condition for this controller
 
- 
getConditionCondition Accessor - this is gonna be like${count} < 10- Returns:
- the condition associated with this controller
 
- 
isDonepublic boolean isDone()Description copied from interface:ControllerIndicates whether the Controller is done delivering Samplers for the rest of the test. When the top-level controller returns true to JMeterThread, the thread is complete.- Specified by:
- isDonein interface- Controller
- Overrides:
- isDonein class- GenericController
- Returns:
- boolean
- See Also:
 
- 
nextDescription 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 interface- Controller
- Overrides:
- nextin class- GenericController
- Returns:
- the next sampler or null
- See Also:
 
- 
triggerEndOfLooppublic void triggerEndOfLoop()Trigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
- triggerEndOfLoopin interface- Controller
- Overrides:
- triggerEndOfLoopin class- GenericController
 
- 
isEvaluateAllpublic boolean isEvaluateAll()
- 
setEvaluateAllpublic void setEvaluateAll(boolean b) 
- 
isUseExpressionpublic boolean isUseExpression()
- 
setUseExpressionpublic void setUseExpression(boolean selected) 
- 
threadStartedpublic void threadStarted()Description copied from interface:ThreadListenerCalled for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet. See org.apache.jmeter.threads.JMeterThread#threadStarted()- Specified by:
- threadStartedin interface- ThreadListener
 
- 
threadFinishedpublic void threadFinished()Description copied from interface:ThreadListenerCalled for each thread after all samples have been processed. See org.apache.jmeter.threads.JMeterThread#threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)- Specified by:
- threadFinishedin interface- ThreadListener
 
 
-