Hi Craig,
I think that it is solved in the latest build due to the better ant usage.
Marc.
Craig Copeland wrote:
A nested <repeat> block (an inner loop) appears to retain the property values
that it had when it (the inner loop) *exited* the first time. Therefore, if a
property is changed in the outer block, the inner block will not recognize this
change on second and subsequent iterations.
Please, let me know if I'm missing something.
Thanks,
Craig
Example:
======== Test Script ========
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "WebTest.dtd"[
]>
<project name="Testing 1.2.3" basedir="." default="main">
<property name="webtest.home" location="C:\canoo-webtest"/>
<import file="${webtest.home}/lib/taskdef.xml"/>
<target name="main">
<webtest name="myTest">
<steps>
<repeat
startCount="1"
endCount="4" >
<ifStep>
<condition>
<verifyXPath xpath="#{count} = 1" />
</condition>
<storeProperty
property="set_in_outer_loop"
propertyType="dynamic"
value="Numero uno" />
</ifStep>
<ifStep>
<condition>
<verifyXPath xpath="#{count} != 1" />
</condition>
<storeProperty
property="set_in_outer_loop"
propertyType="dynamic"
value="Elsewhere" />
</ifStep>
<antWrapper>
<echo message="DEBUG: OUTER loop: ##{count}"/>
<echo message="DEBUG: OUTER loop: set_in_outer_loop:
'#{set_in_outer_loop}'"/>
</antWrapper>
<repeat
startCount="1"
endCount="5"
counterName="inner_loop">
<antWrapper>
<echo message="DEBUG: inner loop: ##{inner_loop}"/>
<echo message="DEBUG: inner loop: set_in_outer_loop:
'#{set_in_outer_loop}'"/>
<echo message="DEBUG: inner loop: outer's counter: ##{count}"/>
</antWrapper>
</repeat>
</repeat>
</steps>
</webtest>
</target>
</project>
======== OUTPUT ========
Buildfile: tests\test4.xml
main:
Overriding previous definition of reference to ant.PropertyHelper
[echo] DEBUG: OUTER loop: #1
[echo] DEBUG: OUTER loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: #1
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #2
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #3
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #4
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: OUTER loop: #2
[echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere'
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: OUTER loop: #3
[echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere'
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: OUTER loop: #4
[echo] DEBUG: OUTER loop: set_in_outer_loop: 'Elsewhere'
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
[echo] DEBUG: inner loop: #5
[echo] DEBUG: inner loop: set_in_outer_loop: 'Numero uno'
[echo] DEBUG: inner loop: outer's counter: #1
Overriding previous definition of reference to ant.PropertyHelper
BUILD SUCCESSFUL
Total time: 4 seconds
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest