Package org.apache.jmeter.control
Class WhileController
java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.control.GenericController
org.apache.jmeter.control.WhileController
- All Implemented Interfaces:
Serializable
,Cloneable
,Controller
,IteratingController
,LoopIterationListener
,Searchable
,org.apache.jmeter.testelement.TestElement
,TestCompilerHelper
- 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 class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Break loop ("break" keyword equivalent)org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends WhileController,
? extends org.apache.jmeter.control.WhileControllerSchema> getProps()
org.apache.jmeter.control.WhileControllerSchema
void
iterationStart
(LoopIterationEvent iterEvent) Called when a loop iteration is about to start.next()
This skips controller entirely if the condition is false on first entry.protected Sampler
Only called at End of Loopprotected void
void
setCondition
(String string) void
Start next iteration ("continue" keyword equivalent in loops)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, isDone, isFirst, nextIsAController, nextIsASampler, readResolve, reInitialize, 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, 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.control.IteratingController
updateIterationIndex
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, 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
-
WhileController
public WhileController()
-
-
Method Details
-
getSchema
public org.apache.jmeter.control.WhileControllerSchema getSchema()- Specified by:
getSchema
in interfaceorg.apache.jmeter.testelement.TestElement
- Overrides:
getSchema
in classGenericController
-
getProps
public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends WhileController,? extends org.apache.jmeter.control.WhileControllerSchema> getProps()- Specified by:
getProps
in interfaceorg.apache.jmeter.testelement.TestElement
- Overrides:
getProps
in classGenericController
-
nextIsNull
Only called at End of LoopCalled by
GenericController.next()
whenGenericController.getCurrentElement()
returnsnull
. Reinitialises the controller.- Overrides:
nextIsNull
in classGenericController
- Returns:
- null (always, for this class)
- Throws:
NextIsNullException
- when the end of the list has already been reached
-
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
-
next
This skips controller entirely if the condition is false on first entry.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
-
resetLoopCount
protected void resetLoopCount() -
setCondition
- Parameters:
string
- the condition to save
-
getCondition
- Returns:
- the condition
-
startNextLoop
public void startNextLoop()Description copied from interface:IteratingController
Start next iteration ("continue" keyword equivalent in loops)- Specified by:
startNextLoop
in interfaceIteratingController
-
breakLoop
public void breakLoop()Description copied from interface:IteratingController
Break loop ("break" keyword equivalent)- Specified by:
breakLoop
in interfaceIteratingController
-
iterationStart
Description copied from interface:LoopIterationListener
Called when a loop iteration is about to start.- Specified by:
iterationStart
in interfaceLoopIterationListener
- Parameters:
iterEvent
- the event
-