com.canoo.webtest.steps.control
Class RepeatStep

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by com.canoo.webtest.steps.Step
              extended by com.canoo.webtest.steps.AbstractStepContainer
                  extended by com.canoo.webtest.steps.control.MultipleExecutionStepContainer
                      extended by com.canoo.webtest.steps.control.RepeatStep
All Implemented Interfaces:
IStepSequence, Serializable, Cloneable, TaskContainer

public class RepeatStep
extends MultipleExecutionStepContainer

A RepeatStep accepts one or more nested step elements and executes them as many times as defined in the count attribute.

Before it actually starts the execution of contained steps, the contained steps are "expanded", i.e. cloned so that each invocation has a dedicated step object. This is required since the step object serves also as history element for logging results and execution times.

As soon as one of the nested steps fails, the RepeatStep fails as well (simply by propagating the TestStepFailed exception).

It also updates a property #{count} with the current number of the current repetition which can be accessed as a dynamic property if desired.

Author:
Carsten Seibert
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.canoo.webtest.steps.Step
DEFAULT_DESCRIPTION, ELEMENT_ATTRIBUTE_ID, ELEMENT_ATTRIBUTE_NAME, PROPERTY_TYPE_ANT, PROPERTY_TYPE_ANT_STRICT, PROPERTY_TYPE_DEFAULT, PROPERTY_TYPE_DYNAMIC
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
RepeatStep()
           
 
Method Summary
 void doExecute()
          Called to perform the step's functionality.
protected  void doExecuteWithXPath()
           
protected  void executeContainedTasks(String loopLabel)
           
 Integer getCount()
           
 String getCounterName()
           
 Integer getEndCount()
           
protected  List getNodesByXPath()
           
 int getStartCount()
           
 int getStep()
           
 String getXpath()
           
 void setCount(Integer count)
           
 void setCounterName(String counterName)
           
 void setEndCount(Integer count)
           
 void setStartCount(int count)
           
 void setStep(int step)
           
 void setXpath(String xpath)
           
protected  void verifyParameters()
          Called to let the step's implementation validate its parameters.
 
Methods inherited from class com.canoo.webtest.steps.control.MultipleExecutionStepContainer
createIterationWrapper
 
Methods inherited from class com.canoo.webtest.steps.AbstractStepContainer
addStep, addTask, executeContainedStep, executeContainedSteps, getSteps
 
Methods inherited from class com.canoo.webtest.steps.Step
addComputedParameters, clone, emptyParamCheck, execute, getComputedParameters, getContext, getDefaultPropertyType, getDescription, getDuration, getParameterDictionary, getStepLabel, getVerifier, getWebtestProperties, getWebtestProperties, getWebtestProperty, getWebtestProperty, handleException, hasDescription, integerParamCheck, isCompleted, isPerformingAction, isStarted, isSuccessful, notifyCompleted, notifyStarted, notifyStepResultsListeners, notifySuccess, nullParamCheck, nullResponseCheck, optionalIntegerParamCheck, paramCheck, positiveOrZeroParamCheck, setStepid, setWebtestProperty, setWebtestProperty, toString
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RepeatStep

public RepeatStep()
Method Detail

setCount

public void setCount(Integer count)
Parameters:
count -

getCount

public Integer getCount()

setStartCount

public void setStartCount(int count)
Parameters:
count -

getStartCount

public int getStartCount()

setEndCount

public void setEndCount(Integer count)
Parameters:
count -

getEndCount

public Integer getEndCount()

setStep

public void setStep(int step)
Parameters:
step -

getStep

public int getStep()

setCounterName

public void setCounterName(String counterName)
Parameters:
counterName -

getCounterName

public String getCounterName()

verifyParameters

protected void verifyParameters()
Description copied from class: Step
Called to let the step's implementation validate its parameters. The method is called after parameter extensions but before Step.doExecute(). This implementation does nothing, overwrite as needed.

Overrides:
verifyParameters in class Step

doExecute

public void doExecute()
               throws javax.xml.xpath.XPathException
Description copied from class: Step
Called to perform the step's functionality. Before calling this method, the step has been completely initialized (including expanding and verifying the parameters) and the environment notified of the start.

Specified by:
doExecute in class Step
Throws:
javax.xml.xpath.XPathException

getNodesByXPath

protected List getNodesByXPath()
                        throws javax.xml.xpath.XPathException
Throws:
javax.xml.xpath.XPathException

doExecuteWithXPath

protected void doExecuteWithXPath()
                           throws javax.xml.xpath.XPathException
Throws:
javax.xml.xpath.XPathException

executeContainedTasks

protected void executeContainedTasks(String loopLabel)

getXpath

public String getXpath()

setXpath

public void setXpath(String xpath)

Copyright © 2001-2007 Canoo Engineering AG, Basel. All rights reserved.